Class: SparkApi::Models::ListingCart
Constant Summary
Constants included
from Paginate
Paginate::DEFAULT_PAGE_SIZE
Instance Attribute Summary
Attributes inherited from Base
#attributes, #errors, #parent
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Finders
find, find_one, first, last
#create!, #params_for_save, #post_data, #save, #save!, #update!
#destroy, #destroy!, #destroyed?
Methods inherited from Base
connection, #connection, count, element_name, element_name=, first, get, #load, #method_missing, #parse_id, path, #persisted?, prefix, prefix=, #resource_uri, #respond_to?
Methods included from Paginate
#collect, #paginate, #per_page
Methods included from Dirty
#changed, #changed?, #changed_attributes, #changes, #dirty_attributes, #previous_changes
Constructor Details
#initialize(attributes = {}) ⇒ ListingCart
Returns a new instance of ListingCart.
10
11
12
13
|
# 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
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class SparkApi::Models::Base
Class Method Details
.for(listings, arguments = {}) ⇒ Object
42
43
44
45
|
# File 'lib/spark_api/models/listing_cart.rb', line 42
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 = {}) ⇒ Object
47
48
49
|
# File 'lib/spark_api/models/listing_cart.rb', line 47
def self.my(arguments={})
collect(connection.get("/my/#{self.element_name}", arguments))
end
|
.portal(arguments = {}) ⇒ Object
51
52
53
|
# File 'lib/spark_api/models/listing_cart.rb', line 51
def self.portal(arguments={})
collect(connection.get("/#{self.element_name}/portal", arguments))
end
|
Instance Method Details
#add_listing(listing) ⇒ Object
30
31
32
33
34
|
# File 'lib/spark_api/models/listing_cart.rb', line 30
def add_listing(listing)
ids = listing.respond_to?(:Id) ? listing.Id : listing
results = connection.post("#{self.resource_uri}", {"ListingIds" => Array(ids)})
self.ListingCount = results.first["ListingCount"]
end
|
#ListingIds=(listing_ids) ⇒ Object
15
16
17
|
# File 'lib/spark_api/models/listing_cart.rb', line 15
def ListingIds=(listing_ids)
attributes["ListingIds"] = Array(listing_ids)
end
|
#Name=(name) ⇒ Object
18
19
20
|
# File 'lib/spark_api/models/listing_cart.rb', line 18
def Name=(name)
attributes["Name"] = name
end
|
#path ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/spark_api/models/listing_cart.rb', line 22
def path
if @contact_id
"/contacts/#{@contact_id}/listingcarts"
else
super
end
end
|
#remove_listing(listing) ⇒ Object
36
37
38
39
40
|
# File 'lib/spark_api/models/listing_cart.rb', line 36
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
|