Class: EasyPost::Services::Tracker

Inherits:
Service
  • Object
show all
Defined in:
lib/easypost/services/tracker.rb

Constant Summary collapse

MODEL_CLASS =
EasyPost::Models::Tracker

Instance Method Summary collapse

Methods inherited from Service

#initialize

Constructor Details

This class inherits a constructor from EasyPost::Services::Service

Instance Method Details

#all(params) ⇒ Object

Retrieve a list of Trackers



19
20
21
22
23
24
# File 'lib/easypost/services/tracker.rb', line 19

def all(params)
  response = @client.make_request(:get, 'trackers', MODEL_CLASS, params)
  response.define_singleton_method(:tracking_code) { params[:tracking_code] }
  response.define_singleton_method(:carrier) { params[:carrier] }
  response
end

#create(params = {}) ⇒ Object

Create a Tracker



7
8
9
10
11
# File 'lib/easypost/services/tracker.rb', line 7

def create(params = {})
  wrapped_params = { tracker: params }

  @client.make_request(:post, 'trackers', MODEL_CLASS, wrapped_params)
end

#create_list(params = {}) ⇒ Object

Create multiple Tracker objects in bulk.



27
28
29
30
31
32
# File 'lib/easypost/services/tracker.rb', line 27

def create_list(params = {})
  wrapped_params = { 'trackers' => params }

  @client.make_request(:post, 'trackers/create_list', MODEL_CLASS, wrapped_params)
  true # This endpoint does not return a response so we return true here instead
end

#get_next_page(collection, page_size = nil) ⇒ Object

Get the next page of trackers.



35
36
37
# File 'lib/easypost/services/tracker.rb', line 35

def get_next_page(collection, page_size = nil)
  get_next_page_helper(collection, collection.trackers, 'trackers', MODEL_CLASS, page_size)
end

#retrieve(id) ⇒ Object

Retrieve a Tracker



14
15
16
# File 'lib/easypost/services/tracker.rb', line 14

def retrieve(id)
  @client.make_request(:get, "trackers/#{id}", MODEL_CLASS)
end