class ShipitAPI::Package

Public Class Methods

all(opts = {}) click to toggle source
# File lib/shipit_api/package.rb, line 3
def self.all(opts = {})
  new(opts).all
end
create(opts = {}) click to toggle source
# File lib/shipit_api/package.rb, line 7
def self.create(opts = {})
  new(opts).save
end
find(opts = {}) click to toggle source
# File lib/shipit_api/package.rb, line 11
def self.find(opts = {})
  new().find(opts)
end
latest() click to toggle source
# File lib/shipit_api/package.rb, line 15
def self.latest
  new().latest
end
new(opts = {}) click to toggle source
# File lib/shipit_api/package.rb, line 19
def initialize(opts = {})
  @opts = opts
  @api_call = ShipitAPI::Session.connection(self.class.name)
  build! if !@opts.kind_of?(Array)
end

Public Instance Methods

address_attrs() click to toggle source
# File lib/shipit_api/package.rb, line 31
def address_attrs
  { commune_id: nil, street: "", number: "", complement: "" }
end
all() click to toggle source
# File lib/shipit_api/package.rb, line 54
def all
  @opts = @opts.empty? ? { year: Time.now.year, month: Time.now.month } : @opts
  response = @api_call.get('', @opts)
  JSON.parse(response.body, symbolize_names: true)
end
attrs() click to toggle source
# File lib/shipit_api/package.rb, line 25
def attrs
  { reference: "", full_name: "", email: "", items_count: 1, cellphone: "", is_payable: false, packing: "Sin Empaque",
    shipping_type: "Normal", destiny: "Domicilio", courier_for_client: nil, address_attributes: address_attrs, with_purchase_insurance: false, purchase: purchase_attrs,
    inventory_activity: fulfillment_attrs }
end
build!() click to toggle source
# File lib/shipit_api/package.rb, line 47
def build!
  @opts.each do |k,v|
    singleton_class.send(:attr_accessor, k)
    instance_variable_set("@#{k}", v)
  end
end
destroy() click to toggle source
# File lib/shipit_api/package.rb, line 72
def destroy
end
find(opts = opts) click to toggle source
# File lib/shipit_api/package.rb, line 60
def find(opts = opts)
  opts = opts.empty? ? StandardError : opts
  response = @api_call.get("#{opts[:id]}")
  JSON.parse(response.body, symbolize_names: true)
end
fulfillment_attrs() click to toggle source
# File lib/shipit_api/package.rb, line 39
def fulfillment_attrs
  { inventory_activity_orders_attributes: [] }
end
latest() click to toggle source
# File lib/shipit_api/package.rb, line 75
def latest
  @opts = @opts.empty? ? { year: Time.now.year, month: Time.now.month } : @opts
  response = @api_call.get('', @opts)
  JSON.parse(response.body, symbolize_names: true).last
end
purchase_attrs() click to toggle source
# File lib/shipit_api/package.rb, line 35
def purchase_attrs
  { detail: "Ropa", ticket_number: 11111111, amount: 0, extra_insurance: false }
end
save() click to toggle source
# File lib/shipit_api/package.rb, line 66
def save
  @opts = @opts.empty? ? StandardError : @opts
  response = @api_call.post('mass_create', { packages: @opts }.to_json)
  JSON.parse(response.body, symbolize_names: true)
end
sku_attrs() click to toggle source
# File lib/shipit_api/package.rb, line 43
def sku_attrs
  { sku_id: nil, amount: 1 }
end