summaryrefslogtreecommitdiff
path: root/test/rubygems/rubygems_plugin.rb
blob: 7fac2ebec645a4f46cd18ff27c0a2a0906d1745b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true
require 'rubygems/command_manager'

##
# This is an example of exactly what NOT to do.
#
# DO NOT include code like this in your rubygems_plugin.rb

module Gem::Commands
  remove_const(:InterruptCommand) if defined?(InterruptCommand)
end

class Gem::Commands::InterruptCommand < Gem::Command

  def initialize
    super('interrupt', 'Raises an Interrupt Exception', {})
  end

  def execute
    raise Interrupt, "Interrupt exception"
  end

end

Gem::CommandManager.instance.register_command :interrupt