Module: Brigadier::Commands::Base
Instance Method Summary
collapse
Methods included from Helper
#available_params_for, #display_help_for, #display_help_if_requested, #help, #help_requested?, #inverse_toggle_arg?, #option_or_toggle?
Instance Method Details
#assign_arguments_from(parameters) ⇒ Object
41
42
43
|
# File 'lib/brigadier/commands/base.rb', line 41
def assign_arguments_from(parameters)
create_variable_and_method_from(parameters)
end
|
#assign_options_from(parameters) ⇒ Object
37
38
39
|
# File 'lib/brigadier/commands/base.rb', line 37
def assign_options_from(parameters)
create_variable_and_method_from(parameters)
end
|
#assign_toggles_from(toggles) ⇒ Object
27
28
29
30
31
32
33
34
35
|
# File 'lib/brigadier/commands/base.rb', line 27
def assign_toggles_from(toggles)
toggles.each do |toggle|
name = toggle.normalised_attribute_name.to_sym
method_name = "#{name}?"
instance.instance_variable_set(:"@#{name}", toggle.value)
$stderr.puts "WARN: Overwrting existing method '#{name}'.." if instance.respond_to?(name)
instance.define_singleton_method(method_name) { toggle.value }
end
end
|
#create_variable_and_method_from(parameters) ⇒ Object
45
46
47
48
49
50
51
52
|
# File 'lib/brigadier/commands/base.rb', line 45
def create_variable_and_method_from(parameters)
parameters.each do |param|
name = param.normalised_attribute_name.to_sym
instance.instance_variable_set(:"@#{name}", param.value)
$stderr.puts "WARN: Overwrting existing method '#{name}'.." if instance.respond_to?(name)
instance.define_singleton_method(name) { param.value }
end
end
|
#ensure_parameters_defined!(*parameters) ⇒ Object
54
55
56
57
58
59
60
|
# File 'lib/brigadier/commands/base.rb', line 54
def ensure_parameters_defined!(*parameters)
captured_errors = validate_parameters!(parameters)
unless captured_errors.empty?
captured_errors.each { |e| $stderr.puts "ERROR: #{e}" }
exit(Exceptions::ERROR_EXIT_CODE)
end
end
|
#hidden? ⇒ Boolean
23
24
25
|
# File 'lib/brigadier/commands/base.rb', line 23
def hidden?
false
end
|
#process_args(args, obj) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/brigadier/commands/base.rb', line 6
def process_args(args, obj)
args_to_keep = []
until args.empty?
arg = args.shift
if option_or_toggle?(arg)
next if set_options_for(arg, args, obj.options) || set_toggles_for(arg, obj.toggles)
elsif set_argument_for(arg, obj.arguments)
next
end
end
args = args_to_keep
end
|
#sub_command? ⇒ Boolean
19
20
21
|
# File 'lib/brigadier/commands/base.rb', line 19
def sub_command?
false
end
|