Method: Parameters#parameter
- Defined in:
- lib/parameters/parameters.rb
#parameter(name, options = {}) ⇒ InstanceParam
Adds a new parameter to the object.
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/parameters/parameters.rb', line 78 def parameter(name,={}) name = name.to_sym instance_eval %{ # define the reader method for the parameter def #{name} get_param(#{name.inspect}).value end # define the writer method for the parameter def #{name}=(new_value) get_param(#{name.inspect}).value = new_value end def #{name}? !!get_param(#{name.inspect}).value end } # create the new parameter new_param = InstanceParam.new( self, name, [:type], [:description], [:default] ) # add the new parameter self.params[name] = new_param return new_param end |