module VersacommerceAPI::Associatable
Public Instance Methods
associated_resource(association, pluralize=true)
click to toggle source
# File lib/versacommerce_api/associatable.rb, line 4 def associated_resource association, pluralize=true association = association.pluralize if pluralize if self.new? or attributes[association] attributes[association] else # dont create traffic if we know already there are no associated records... return [] if self.respond_to?("#{association}_count") && self.send("#{association}_count") == 0 && pluralize klass = "VersacommerceAPI::#{association.classify}".constantize # ensure we don“t have the association already included attributes[association] ||= begin resource_name = self.class.name.split("::").last.tableize klass.prefix = "/api/#{resource_name}/#{self.id}/" pluralize ? klass.find(:all) : klass.find(:one) end klass.root! attributes[association] end end