Module: RFunk::Attribute::ClassMethods
- Defined in:
- lib/rfunk/attribute.rb
Instance Method Summary collapse
Instance Method Details
#attribute(name, type, options = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rfunk/attribute.rb', line 15 def attribute(name, type, = {}) add_attribute(name, type, ) self.send :define_method, name do |value = nil| if value raise_expected_type(name, value, type) create_immutable(variable_name(name), value) else Option(self.instance_variable_get(variable_name(name))) end end end |