29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/staticme/arguments.rb', line 29
def parse_input(argv)
params = Hash.new
ARGS.each_pair do |param_name, param_attrs|
param_shorten_name = param_attrs[:shorten]
default = param_attrs[:default]
sanitizer = param_attrs[:sanitizer]
param_value = argv["--#{param_name}"] ||
( param_shorten_name.nil? ? nil : argv["-#{param_shorten_name}"] ) ||
( default.is_a?(Proc) ? default.call : default )
( param_value = sanitizer.call( param_value ) ) if sanitizer.is_a? Proc
if !param_value.nil?
params[param_name] = param_value
end
end
params
end
|