Sha256: f63caf17792cb41de5b17e3b0811e585c31ea3652a29da5979411f499270b680
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
module Staticme module Arguments ARGS = { :path => { :short => 'f', :default => Proc.new { Dir.pwd } }, :port => { :short => 'p', :default => 8080, :sanitizer => Proc.new { |v| v.to_i } }, :host => { :short => 'h', :default => '0.0.0.0' }, :index => { :short => 'i', :default => 'index.html' } } 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
staticme-0.2.0 | lib/staticme/arguments.rb |