class Icomoon::Cli::Exec::Base
Attributes
args[R]
Public Class Methods
add_param(needs_value, *args)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 40 def add_param(needs_value, *args) key = args.shift params << Icomoon::Cli::ExecParam.new(key, args, needs_value) if args.count.nonzero? method_name = needs_value ? key : "#{key}?" define_param_reader(key, method_name) end
define_param_reader(key, method_name = key)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 48 def define_param_reader(key, method_name = key) class_eval("def #{method_name}; args[#{key.to_sym.inspect}] rescue nil; end") end
display_help()
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 24 def display_help puts @command_help_text end
flag(*args)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 36 def flag(*args) add_param(false, *args) end
help(text)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 28 def help(text) @command_help_text = text end
new(args)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 11 def initialize(args) @args = args end
param(*args)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 32 def param(*args) add_param(true, *args) end
params()
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 7 def self.params @@params end
run(argv)
click to toggle source
# File lib/icomoon/cli/exec/base.rb, line 16 def run(argv) if argv.count == 1 && argv[0] == 'help' return display_help end new(Icomoon::Cli::ParseArgv.call(argv, params)).run end