class Apruve::Shipment
Attributes
amount_cents[RW]
currency[RW]
delivered_at[RW]
id[RW]
invoice_id[RW]
merchant_notes[RW]
merchant_shipment_id[RW]
shipment_items[RW]
shipped_at[RW]
shipper[RW]
shipping_cents[RW]
status[RW]
tax_cents[RW]
tracking_number[RW]
Public Class Methods
find(invoice_id, id)
click to toggle source
# File lib/apruve/resources/shipment.rb, line 7 def self.find(invoice_id, id) response = Apruve.get("invoices/#{invoice_id}/shipments/#{id}") Shipment.new(response.body) end
find_all(invoice_id)
click to toggle source
# File lib/apruve/resources/shipment.rb, line 12 def self.find_all(invoice_id) response = Apruve.get("invoices/#{invoice_id}/shipments") logger.debug response.body response.body.map { |shipment| Shipment.new(shipment) } end
new(params)
click to toggle source
Calls superclass method
Apruve::ApruveObject::new
# File lib/apruve/resources/shipment.rb, line 18 def initialize(params) super # hydrate payment items if appropriate if @shipment_items.nil? @shipment_items = [] elsif @shipment_items.is_a?(Array) && @shipment_items.first.is_a?(Hash) hydrated_items = [] @shipment_items.each do |item| hydrated_items << Apruve::ShipmentItem.new(item) end @shipment_items = hydrated_items end @currency = Apruve.default_currency if currency.nil? end
Public Instance Methods
save!()
click to toggle source
# File lib/apruve/resources/shipment.rb, line 39 def save! validate response = Apruve.post("invoices/#{self.invoice_id}/shipments", self.to_json) self.id = response.body['id'] end
update!()
click to toggle source
# File lib/apruve/resources/shipment.rb, line 45 def update! validate Apruve.patch("invoices/#{self.invoice_id}/shipments/#{id}", self.to_json) end
validate()
click to toggle source
# File lib/apruve/resources/shipment.rb, line 33 def validate errors = [] errors << 'invoice_id must be set' if invoice_id.nil? raise Apruve::ValidationError.new(errors) if errors.length > 0 end