Class: NinjaVan::Order

Inherits:
Object
  • Object
show all
Defined in:
lib/ninja_van/order.rb

Class Method Summary collapse

Class Method Details

.cancel(tracking_code) ⇒ Object

Params: NVSG00000000000000



27
28
29
# File 'lib/ninja_van/order.rb', line 27

def self.cancel(tracking_code)
  NinjaVan::Request.delete(NinjaVan.setup.require!(:cancel_endpoint) << tracking_code)
end

.create(serializer) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/ninja_van/order.rb', line 4

def self.create(serializer)
  create_data = NinjaVan::FlexibleParams.new(serializer).hash
  begin
    NinjaVan::Validations::OrderValidation.new(create_data).validate!
    NinjaVan::Request.post(NinjaVan.setup.require!(:create_endpoint), create_data)
  rescue NinjaVan::RequestError => exception
    raise NinjaVan::CreateOrderError.new(create_data.merge(exception.response.to_deep_symbolize_keys))
  rescue => exception
    raise NinjaVan::CreateOrderError.new(create_data.merge({ error: exception.to_s }))
  end
end

.get_detail(params) ⇒ Object

Params: tracking_id: tracking_code



17
18
19
# File 'lib/ninja_van/order.rb', line 17

def self.get_detail(params)
  NinjaVan::Request.get(NinjaVan.setup.require!(:get_detail_endpoint), params)
end

.get_status(params) ⇒ Object

Params: trackingIds: [tracking_code1, tracking_code2]



22
23
24
# File 'lib/ninja_van/order.rb', line 22

def self.get_status(params)
  NinjaVan::Request.post(NinjaVan.setup.require!(:get_status_endpoint), params)
end