Class: Cornerstore::Cart

Inherits:
Model::Base show all
Includes:
Model::Writable
Defined in:
lib/cornerstore/api/cart.rb

Defined Under Namespace

Classes: Resource

Instance Attribute Summary collapse

Attributes inherited from Model::Base

#_id, #_slugs, #created_at, #parent, #updated_at

Instance Method Summary collapse

Methods included from Model::Writable

create, #destroy, #new?, #save, #to_key

Methods inherited from Model::Base

#==, #attributes=, #inspect, method_missing, #method_missing, #url

Constructor Details

#initialize(attributes = {}, parent = nil) ⇒ Cart

Returns a new instance of Cart.



7
8
9
10
11
# File 'lib/cornerstore/api/cart.rb', line 7

def initialize(attributes = {}, parent=nil)
  self.total = Cornerstore::Price.new(attributes.delete('total'))
  self.line_items = Cornerstore::LineItem::Resource.new(self, attributes.delete('line_items') || [], 'line_items')
  super
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Cornerstore::Model::Base

Instance Attribute Details

#canceled_email_callback_urlObject

Returns the value of attribute canceled_email_callback_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def canceled_email_callback_url
  @canceled_email_callback_url
end

#cart_urlObject

Returns the value of attribute cart_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def cart_url
  @cart_url
end

#delivery_note_pdf_callback_urlObject

Returns the value of attribute delivery_note_pdf_callback_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def delivery_note_pdf_callback_url
  @delivery_note_pdf_callback_url
end

#invoice_pdf_callback_urlObject

Returns the value of attribute invoice_pdf_callback_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def invoice_pdf_callback_url
  @invoice_pdf_callback_url
end

#line_itemsObject

Returns the value of attribute line_items.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def line_items
  @line_items
end

Returns the value of attribute paid_email_callback_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def paid_email_callback_url
  @paid_email_callback_url
end

#placed_email_callback_urlObject

Returns the value of attribute placed_email_callback_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def placed_email_callback_url
  @placed_email_callback_url
end

#referenceObject

Returns the value of attribute reference.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def reference
  @reference
end

#shipped_email_callback_urlObject

Returns the value of attribute shipped_email_callback_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def shipped_email_callback_url
  @shipped_email_callback_url
end

#success_redirect_urlObject

Returns the value of attribute success_redirect_url.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def success_redirect_url
  @success_redirect_url
end

#totalObject

Returns the value of attribute total.



4
5
6
# File 'lib/cornerstore/api/cart.rb', line 4

def total
  @total
end

Instance Method Details

#attributesObject



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/cornerstore/api/cart.rb', line 18

def attributes
  {
    reference: reference,
    success_redirect_url: success_redirect_url,
    cart_url: cart_url,
    invoice_pdf_callback_url: invoice_pdf_callback_url,
    delivery_note_pdf_callback_url: delivery_note_pdf_callback_url,
    placed_email_callback_url: placed_email_callback_url,
    shipped_email_callback_url: shipped_email_callback_url,
    paid_email_callback_url: paid_email_callback_url,
    canceled_email_callback_url: canceled_email_callback_url
  }
end

#checkout_urlObject



41
42
43
# File 'lib/cornerstore/api/cart.rb', line 41

def checkout_url
  "https://#{Cornerstore.subdomain}.cornerstore.io/checkout/#{self.reference}"
end

#empty!Object



32
33
34
35
# File 'lib/cornerstore/api/cart.rb', line 32

def empty!
  line_items.delete_all
  line_items.empty?
end

#empty?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/cornerstore/api/cart.rb', line 37

def empty?
  line_items.empty?
end

#idObject Also known as: to_param



13
14
15
# File 'lib/cornerstore/api/cart.rb', line 13

def id
  reference
end