Class: ActivePayment::Models::Sales

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/active_payment/models/sales.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sales = []) ⇒ Sales

Returns a new instance of Sales.



8
9
10
# File 'lib/active_payment/models/sales.rb', line 8

def initialize(sales = [])
  @sales = sales
end

Instance Attribute Details

#salesObject

Returns the value of attribute sales.



6
7
8
# File 'lib/active_payment/models/sales.rb', line 6

def sales
  @sales
end

Instance Method Details

#amountObject



12
13
14
# File 'lib/active_payment/models/sales.rb', line 12

def amount
  @sales.map(&:amount).inject(0, &:+)
end

#amount_in_centsObject



16
17
18
# File 'lib/active_payment/models/sales.rb', line 16

def amount_in_cents
  @sales.map(&:amount_in_cents).inject(0, &:+)
end

#eachObject



49
50
51
52
53
# File 'lib/active_payment/models/sales.rb', line 49

def each
  @sales.each do |sale|
    yield sale
  end
end

#paypal_hashObject



40
41
42
43
44
45
46
47
# File 'lib/active_payment/models/sales.rb', line 40

def paypal_hash
  paypal_hash = []
  @sales.each do |sale|
    paypal_hash << sale.paypal_hash
  end

  paypal_hash
end

#paypal_recipientsObject



55
56
57
58
59
60
61
62
# File 'lib/active_payment/models/sales.rb', line 55

def paypal_recipients
  recipients = []
  @sales.each do |sale|
    recipients << sale.paypal_recipient if sale.amount > 0
  end

  recipients
end

#total_shippingObject



20
21
22
23
24
25
26
27
28
# File 'lib/active_payment/models/sales.rb', line 20

def total_shipping
  total_shipping = 0

  @sales.each do |sale|
    total_shipping += sale.shipping if sale.shipping
  end

  total_shipping
end

#total_taxObject



30
31
32
33
34
35
36
37
38
# File 'lib/active_payment/models/sales.rb', line 30

def total_tax
  total_tax = 0

  @sales.each do |sale|
    total_tax += sale.tax if sale.tax
  end

  total_tax
end