lib/restly/associations/base.rb in restly-0.0.1.alpha.2 vs lib/restly/associations/base.rb in restly-0.0.1.alpha.3
- old
+ new
@@ -24,15 +24,19 @@
collection? ? association.load_collection(parent) : association.load_instance(parent)
end
def load_collection(parent, association_class = self.association_class)
raise Restly::Error::AssociationError, "Not a collection" unless collection?
+ return [] if embedded?
Restly::Proxies::Associations::Collection.new(association_class.all, parent)
end
def load_instance(parent, association_class = self.association_class)
raise Restly::Error::AssociationError, "Not an instance" if collection?
- instance = if (foreign_key = parent.attributes["#{name}_id"])
+ return nil if embedded?
+ instance = if parent.attributes.has_key? "#{name}_id"
+ foreign_key = parent.attributes["#{name}_id"]
+ return nil unless foreign_key
association_class.find(foreign_key)
else
association_class.instance_from_response association_class.connection.get(association_class.path)
end
Restly::Proxies::Associations::Instance.new(instance, parent)
\ No newline at end of file