Module: MemoryModel::Base::Fieldable::ClassMethods

Defined in:
lib/memory_model/base/fieldable.rb

Instance Method Summary collapse

Instance Method Details

#field(attr, options = { }) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/memory_model/base/fieldable.rb', line 20

def field(attr, options={ })
  define_attribute_method attr unless instance_method_already_implemented? attr
  fields.add(attr.to_sym, options)
  class_eval "    def \#{attr}\n      read_attribute :\#{attr}\n    end\n\n    def \#{attr}=(value)\n      write_attribute :\#{attr}, value\n    end\n  RUBY\nend\n", __FILE__, __LINE__ + 1

#fieldsObject



34
35
36
37
# File 'lib/memory_model/base/fieldable.rb', line 34

def fields
  return nil if self == MemoryModel::Base
  @fields ||= FieldSet.new
end