summaryrefslogtreecommitdiff
path: root/test/rubygems/rubygems_plugin.rb
blob: b538487bbfd22143d7b2a9b73b67c763c630f771 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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