class Apruve::Invoice
Attributes
amount_cents[RW]
amount_due[RW]
bill_to_address[RW]
created_at[RW]
currency[RW]
due_at[RW]
final_state_at[RW]
fiscal_representative[RW]
id[RW]
invoice_items[RW]
issue_on_create[RW]
issued_at[RW]
links[RW]
merchant_invoice_id[RW]
merchant_notes[RW]
opened_at[RW]
order_id[RW]
payments[RW]
remittance_address[RW]
ship_to_address[RW]
shipping_cents[RW]
sold_to_address[RW]
status[RW]
tax_cents[RW]
Public Class Methods
find(id)
click to toggle source
# File lib/apruve/resources/invoice.rb, line 8 def self.find(id) response = Apruve.get("invoices/#{id}") Invoice.new(response.body) end
new(params)
click to toggle source
Calls superclass method
Apruve::ApruveObject::new
# File lib/apruve/resources/invoice.rb, line 13 def initialize(params) super # hydrate payment items if appropriate if @invoice_items.nil? @invoice_items = [] elsif @invoice_items.is_a?(Array) && @invoice_items.first.is_a?(Hash) hydrated_items = [] @invoice_items.each do |item| hydrated_items << Apruve::OrderItem.new(item) end @invoice_items = hydrated_items end @currency = Apruve.default_currency if currency.nil? end
Public Instance Methods
cancel!()
click to toggle source
# File lib/apruve/resources/invoice.rb, line 64 def cancel! validate response = Apruve.post("invoices/#{id}/cancel") self.status = response.body['status'] self.status end
close!()
click to toggle source
# File lib/apruve/resources/invoice.rb, line 57 def close! validate response = Apruve.post("invoices/#{id}/close") self.status = response.body['status'] self.status end
issue!()
click to toggle source
# File lib/apruve/resources/invoice.rb, line 50 def issue! validate response = Apruve.post("invoices/#{id}/issue") self.status = response.body['status'] self.status end
save!()
click to toggle source
# File lib/apruve/resources/invoice.rb, line 35 def save! validate response = Apruve.post('invoices', self.to_json) self.id = response.body['id'] self.status = response.body['status'] self.status end
update!()
click to toggle source
# File lib/apruve/resources/invoice.rb, line 43 def update! validate response = Apruve.patch("invoices/#{id}", self.to_json) self.status = response.body['status'] self.status end
validate()
click to toggle source
# File lib/apruve/resources/invoice.rb, line 28 def validate errors = [] errors << 'order_id must be set' if order_id.nil? errors << 'amount_cents must be set' if amount_cents.nil? raise Apruve::ValidationError.new(errors) if errors.length > 0 end