Class: DataMapper::Associations::ManyToOne::Proxy
- Object
- DataMapper::Associations::ManyToOne::Proxy
Constructor Summary
private
initialize(relationship, child_resource)
[View source]
71 72 73 74 75 76 77
# File 'dm-core/lib/dm-core/associations/many_to_one.rb', line 71 def initialize(relationship, child_resource) # raise ArgumentError, "+relationship+ should be a DataMapper::Association::Relationship, but was #{relationship.class}", caller unless Relationship === relationship # raise ArgumentError, "+child_resource+ should be a DataMapper::Resource, but was #{child_resource.class}", caller unless Resource === child_resource @relationship = relationship @child_resource = child_resource end
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
private
method_missing(method, *args, &block)
[View source]
83 84 85
# File 'dm-core/lib/dm-core/associations/many_to_one.rb', line 83 def method_missing(method, *args, &block) parent.__send__(method, *args, &block) end
Public Visibility
Public Instance Method Summary
| #reload! | |
|---|---|
| #replace(parent_resource) | |
| #save |
Public Instance Methods Inherited from Object
Public Instance Method Details
reload!
public
reload!
[View source]
64 65 66 67 68 69 70 71
# File 'dm-core/lib/dm-core/associations/many_to_one.rb', line 64 def reload! @parent_resource = nil self end
replace
public
replace(parent_resource)
[View source]
50 51 52 53
# File 'dm-core/lib/dm-core/associations/many_to_one.rb', line 50 def replace(parent_resource) @parent_resource = parent_resource @relationship.attach_parent(@child_resource, @parent_resource) if @parent_resource.nil? || !@parent_resource.new_record? end
save
public
save
[View source]
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
# File 'dm-core/lib/dm-core/associations/many_to_one.rb', line 55 def save if parent && parent.new_record? repository(@relationship.repository_name) do parent.save @relationship.attach_parent(@child_resource, parent) end end end