Method: Module#attr_parameter

Defined in:
lib/mega/dynamic_mixin.rb

#attr_parameter(*opts) ⇒ Object

Define an instance option method (via hash).



129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/mega/dynamic_mixin.rb', line 129

def attr_parameter( *opts )
  hopts = opts.pop if Hash === opts.last
  opts.each { |k| hopts[k] = nil }
  mod = self
  hopts.each { |key, default|
    self.instance_eval {
      define_method( key ) do
        self.class.module_parameter_get( mod, key ) || default
      end
    }
  }
end