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