module Excom::Plugins::Args::ClassMethods
Public Instance Methods
arg_methods()
click to toggle source
# File lib/excom/plugins/args.rb, line 80 def arg_methods const_get(:ArgMethods) end
args(*argz)
click to toggle source
# File lib/excom/plugins/args.rb, line 84 def args(*argz) args_list.concat(argz) argz.each_with_index do |name, i| arg_methods.send(:define_method, name){ @args[i] } arg_methods.send(:define_method, "#{name}?"){ !!@args[i] } end end
args_list()
click to toggle source
# File lib/excom/plugins/args.rb, line 104 def args_list @args_list ||= [] end
inherited(service_class)
click to toggle source
Calls superclass method
# File lib/excom/plugins/args.rb, line 72 def inherited(service_class) service_class.const_set(:ArgMethods, Module.new) service_class.send(:include, service_class::ArgMethods) service_class.args_list.replace args_list.dup service_class.opts_list.replace opts_list.dup super end
opts(*optz)
click to toggle source
# File lib/excom/plugins/args.rb, line 94 def opts(*optz) opts_list.concat(optz) optz.each do |name| arg_methods.send(:define_method, name){ @opts[name] } arg_methods.send(:define_method, "#{name}?"){ !!@opts[name] } end end
opts_list()
click to toggle source
# File lib/excom/plugins/args.rb, line 108 def opts_list @opts_list ||= [] end