summaryrefslogtreecommitdiff
path: root/test/rubygems/rubygems_plugin.rb
blob: 2dc7836904b7cb5937e4c18ef6458d8866ec9917 (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