class Bricolage::Parameters::CommandLineOptionHandler
Handles param values given by command line options (e.g. –dest-table=t). Declarations
+ option_args -> IntermediateValues
Public Class Methods
new(decls)
click to toggle source
# File lib/bricolage/parameters.rb, line 107 def initialize(decls) @decls = decls # Declarations @values = {} # {name => a} @vars = Variables.new end
Public Instance Methods
define_options(parser)
click to toggle source
# File lib/bricolage/parameters.rb, line 113 def define_options(parser) @decls.each do |decl| desc = (decl.optional? ? '[optional] ' : '') + decl.description arg_spec = decl.have_arg? ? "=#{decl.arg_spec}" : '' parser.on("--#{decl.option_name}#{arg_spec}", desc) {|arg| @values[decl.name] = decl.parse_option_value(arg, @values[decl.name]) } end parser.on('-v', '--variable=NAME=VALUE', 'Set variable.') {|name_value| name, value = name_value.split('=', 2) @vars.add Variable.new(name, value) } end
values()
click to toggle source
# File lib/bricolage/parameters.rb, line 127 def values IntermediateValues.new(@decls, @values, @vars) end