Class: CouchTomato::Persistence::BelongsToProperty
- Defined in:
- lib/couch_tomato/persistence/belongs_to_property.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
Instance Method Summary collapse
-
#build(object, json) ⇒ Object
def destroy(object) end.
-
#dirty?(object) ⇒ Boolean
def save(object) end.
-
#initialize(owner_clazz, name, options = {}) ⇒ BelongsToProperty
constructor
A new instance of BelongsToProperty.
- #item_class_name ⇒ Object
- #serialize(json, object) ⇒ Object
Constructor Details
#initialize(owner_clazz, name, options = {}) ⇒ BelongsToProperty
Returns a new instance of BelongsToProperty.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/couch_tomato/persistence/belongs_to_property.rb', line 6 def initialize(owner_clazz, name, = {}) self.name = name accessors = " def \#{name}\n return @\#{name} if instance_variable_defined?(:@\#{name})\n @\#{name} = @\#{name}_id ? \#{item_class_name}.find(@\#{name}_id) : nil\n end\n \n def \#{name}=(value)\n @\#{name} = value\n if value.nil?\n @\#{name}_id = nil\n else\n @\#{name}_id = value.id\n end\n end\n \n def \#{name}_id=(id)\n remove_instance_variable(:@\#{name}) if instance_variable_defined?(:@\#{name})\n @\#{name}_id = id\n end\n ACCESSORS\n owner_clazz.class_eval accessors\n owner_clazz.send :attr_reader, \"\#{name}_id\"\nend\n" |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
4 5 6 |
# File 'lib/couch_tomato/persistence/belongs_to_property.rb', line 4 def name @name end |
Instance Method Details
#build(object, json) ⇒ Object
def destroy(object)
end
44 45 46 |
# File 'lib/couch_tomato/persistence/belongs_to_property.rb', line 44 def build(object, json) object.send "#{name}_id=", json["#{name}_id"] end |
#dirty?(object) ⇒ Boolean
def save(object)
end
36 37 38 |
# File 'lib/couch_tomato/persistence/belongs_to_property.rb', line 36 def dirty?(object) false end |
#item_class_name ⇒ Object
52 53 54 |
# File 'lib/couch_tomato/persistence/belongs_to_property.rb', line 52 def item_class_name @name.to_s.camelize end |
#serialize(json, object) ⇒ Object
48 49 50 |
# File 'lib/couch_tomato/persistence/belongs_to_property.rb', line 48 def serialize(json, object) json["#{name}_id"] = object.send("#{name}_id") if object.send("#{name}_id") end |