mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
26f665eaf2
We also refactor it to use `case` instead of `if`.
20 lines
645 B
Ruby
20 lines
645 B
Ruby
class Pry
|
|
# A super-class for Commands that are created with a single block.
|
|
#
|
|
# This class ensures that the block is called with the correct number of
|
|
# arguments and the right context.
|
|
#
|
|
# Create subclasses using {Pry::CommandSet#command}.
|
|
class BlockCommand < Command
|
|
# Call the block that was registered with this command.
|
|
# @param [Array<String>] args The arguments passed
|
|
# @return [Object] The return value of the block
|
|
def call(*args)
|
|
instance_exec(*normalize_method_args(block, args), &block)
|
|
end
|
|
|
|
def help
|
|
"#{command_options[:listing].to_s.ljust(18)} #{description}"
|
|
end
|
|
end
|
|
end
|