mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 13:34:17 +02:00

Ruby implementations like JRuby and TruffleRuby already indicate their
compatibility target with RUBY_VERSION. We don't need to exclude
them from accepting keyword arguments as long as they target 2.7+.
bf20faa4e6
Co-authored-by: Kevin Menard <kevin@nirvdrum.com>
66 lines
1.3 KiB
Ruby
66 lines
1.3 KiB
Ruby
# frozen_string_literal: false
|
|
#
|
|
# nop.rb -
|
|
# by Keiju ISHITSUKA(keiju@ruby-lang.org)
|
|
#
|
|
|
|
module IRB
|
|
# :stopdoc:
|
|
|
|
module ExtendCommand
|
|
class CommandArgumentError < StandardError; end
|
|
|
|
class Nop
|
|
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
|
|
|
|
if RUBY_VERSION >= "2.7.0"
|
|
def self.execute(conf, *opts, **kwargs, &block)
|
|
command = new(conf)
|
|
command.execute(*opts, **kwargs, &block)
|
|
rescue CommandArgumentError => e
|
|
puts e.message
|
|
end
|
|
else
|
|
def self.execute(conf, *opts, &block)
|
|
command = new(conf)
|
|
command.execute(*opts, &block)
|
|
rescue CommandArgumentError => e
|
|
puts e.message
|
|
end
|
|
end
|
|
|
|
def initialize(conf)
|
|
@irb_context = conf
|
|
end
|
|
|
|
attr_reader :irb_context
|
|
|
|
def irb
|
|
@irb_context.irb
|
|
end
|
|
|
|
def execute(*opts)
|
|
#nop
|
|
end
|
|
end
|
|
end
|
|
|
|
# :startdoc:
|
|
end
|