Class: ForestLiana::StripeInvoiceGetter

Inherits:
StripeBaseGetter show all
Defined in:
app/services/forest_liana/stripe_invoice_getter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params, secret_key, reference) ⇒ StripeInvoiceGetter

Returns a new instance of StripeInvoiceGetter.


5
6
7
8
# File 'app/services/forest_liana/stripe_invoice_getter.rb', line 5

def initialize(params, secret_key, reference)
  @params = params
  Stripe.api_key = ForestLiana.integrations[:stripe][:api_key]
end

Instance Attribute Details

#recordObject

Returns the value of attribute record.


3
4
5
# File 'app/services/forest_liana/stripe_invoice_getter.rb', line 3

def record
  @record
end

Instance Method Details

#performObject


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/services/forest_liana/stripe_invoice_getter.rb', line 10

def perform
  query = {}
  @record = ::Stripe::Invoice.retrieve(@params[:invoice_id])

  @record.due_date = Time.at(@record.due_date).to_datetime unless @record.due_date.nil?
  @record.period_start = Time.at(@record.period_start).to_datetime
  @record.period_end = Time.at(@record.period_end).to_datetime
  @record.subtotal /= 100.00
  @record.total /= 100.00
  @record.amount_due /= 100.00

  query[field] = @record.customer
  if collection
    @record.customer = collection.find_by(query)
  else
    @record.customer = nil
  end
  @record
end