ruby/lib/irb/command/base.rb
Stan Lo f5801e2bf4 [ruby/irb] Standardize command related names
(https://github.com/ruby/irb/pull/873)

* Replace ExtendCommand with Command and standardize command related names

1. Rename lib/irb/extend-command.rb to lib/irb/command.rb
2. Rename lib/irb/cmd/*.rb to lib/irb/command/*.rb
3. Rename test/irb/test_cmd.rb to test/irb/test_command.rb
4. Rename ExtendCommand to Command

* Alias ExtendCommand to Command and deprecate it

* Rename Command::Nop to Command::Base

* Not deprecate old constants just yet

* Add lib/irb/cmd/nop.rb back

462c1284af
2024-02-16 16:47:36 +00:00

55 lines
1.1 KiB
Ruby

# frozen_string_literal: false
#
# nop.rb -
# by Keiju ISHITSUKA(keiju@ruby-lang.org)
#
module IRB
# :stopdoc:
module Command
class CommandArgumentError < StandardError; end
class Base
class << self
def category(category = nil)
@category = category if category
@category
end
def description(description = nil)
@description = description if description
@description
end
private
def string_literal?(args)
sexp = Ripper.sexp(args)
sexp && sexp.size == 2 && sexp.last&.first&.first == :string_literal
end
end
def self.execute(irb_context, *opts, **kwargs, &block)
command = new(irb_context)
command.execute(*opts, **kwargs, &block)
rescue CommandArgumentError => e
puts e.message
end
def initialize(irb_context)
@irb_context = irb_context
end
attr_reader :irb_context
def execute(*opts)
#nop
end
end
Nop = Base
end
# :startdoc:
end