lib/clamp/command.rb in clamp-1.2.1 vs lib/clamp/command.rb in clamp-1.3.0

- old
+ new

@@ -1,5 +1,7 @@ +# frozen_string_literal: true + require "clamp/messages" require "clamp/errors" require "clamp/help" require "clamp/option/declaration" require "clamp/option/parsing" @@ -46,10 +48,11 @@ def parse(arguments) @remaining_arguments = arguments.dup parse_options parse_parameters parse_subcommand + verify_required_options_are_set handle_remaining_arguments end # Run the command, with the specified arguments. # @@ -79,11 +82,11 @@ # Abort with subcommand missing usage error # # @ param [String] name subcommand_name def subcommand_missing(name) - signal_usage_error(Clamp.message(:no_such_subcommand, :name => name)) + signal_usage_error(Clamp.message(:no_such_subcommand, name: name)) end include Clamp::Option::Parsing include Clamp::Parameter::Parsing include Clamp::Subcommand::Parsing @@ -119,9 +122,14 @@ include Clamp::Option::Declaration include Clamp::Parameter::Declaration include Clamp::Subcommand::Declaration include Help + + # An alternative to "def execute" + def execute(&block) + define_method(:execute, &block) + end # Create an instance of this command class, and run it. # # @param [String] invocation_path the path used to invoke the command # @param [Array<String>] arguments command-line arguments