class SparkApi::Models::ListingCart

Constants

ListingCount

Public Class Methods

for(listings,arguments={}) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 56
def self.for(listings,arguments={})
  keys = Array(listings).map { |l| l.respond_to?(:Id) ? l.Id : l.to_s }
  collect(connection.get("/#{self.element_name}/for/#{keys.join(",")}", arguments))
end
my(arguments={}) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 61
def self.my(arguments={})
  collect(connection.get("/my/#{self.element_name}", arguments))
end
new(attributes={}) click to toggle source
Calls superclass method SparkApi::Models::Base::new
# File lib/spark_api/models/listing_cart.rb, line 10
def initialize(attributes={})
  @contact_id = attributes.delete(:contact_id) if attributes[:contact_id]
  super(attributes)
end
path() click to toggle source
Calls superclass method SparkApi::Models::Base::path
# File lib/spark_api/models/listing_cart.rb, line 23
def self.path
  if @contact_id
    "/contacts/#{@contact_id}/listingcarts"
  else
    super
  end
end
portal(arguments={}) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 65
def self.portal(arguments={})
    collect(connection.get("/#{self.element_name}/portal", arguments))
end

Public Instance Methods

ListingIds=(listing_ids) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 15
def ListingIds=(listing_ids)
  write_attribute("ListingIds", Array(listing_ids))
end
Name=(name) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 19
def Name=(name)
  write_attribute("Name", name)
end
add_listing(listings)
Alias for: add_listings
add_listings(listings) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 40
def add_listings(listings)
  ids = Array(listings).map do |listing|
    listing.respond_to?(:Id) ? listing.Id : listing
  end
  results = connection.post("#{self.resource_uri}", {"ListingIds" => ids})
  self.ListingCount = results.first["ListingCount"]
end
Also aliased as: add_listing
deletable?() click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 69
def deletable?
  !attributes.has_key?("PortalCartType") || self.PortalCartType == "Custom"
end
filter() click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 31
def filter
  "ListingCart Eq '#{self.Id}'"
end
listings(args = {}) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 35
def listings(args = {})
  return [] if attributes["ListingIds"].nil?
  Listing.collect(connection.get("#{self.path}/#{self.Id}/listings", args))
end
remove_listing(listing) click to toggle source
# File lib/spark_api/models/listing_cart.rb, line 50
def remove_listing(listing)
  id = listing.respond_to?(:Id) ? listing.Id : listing.to_s
  results = connection.delete("#{self.class.path}/#{self.Id}/listings/#{id}")
  self.ListingCount = results.first["ListingCount"]
end