Class: Etracking::Client
- Inherits:
-
Object
- Object
- Etracking::Client
- Defined in:
- lib/etracking/client.rb
Overview
Instance Attribute Summary collapse
-
#api_key ⇒ Object
@return [String].
-
#key_secret ⇒ Object
@return [String].
-
#language ⇒ Object
@return [String].
Instance Method Summary collapse
- #api(service, tracking_number) ⇒ Object
- #dhl_express(tracking_number) ⇒ Object
- #endpoint ⇒ Object
- #flash_express(tracking_number) ⇒ Object
- #headers ⇒ Object
-
#initialize(options = {}) {|_self| ... } ⇒ Etracking::Client
constructor
Initialize a new client.
- #jt_express(tracking_number) ⇒ Object
- #kerry_express(tracking_number) ⇒ Object
- #lazada_express(tracking_number) ⇒ Object
-
#payload_tracking_number(tracking_number) ⇒ Object
api(‘thailand_post’, tracking_number) end.
- #rest_client_api(url, method, headers, payload) ⇒ Object
- #scg_express(tracking_number) ⇒ Object
- #shopee_express(tracking_number) ⇒ Object
Constructor Details
#initialize(options = {}) {|_self| ... } ⇒ Etracking::Client
Initialize a new client.
22 23 24 25 26 27 |
# File 'lib/etracking/client.rb', line 22 def initialize( = {}) .each do |key, value| instance_variable_set("@#{key}", value) end yield(self) if block_given? end |
Instance Attribute Details
#api_key ⇒ Object
@return [String]
16 17 18 |
# File 'lib/etracking/client.rb', line 16 def api_key @api_key end |
#key_secret ⇒ Object
@return [String]
16 17 18 |
# File 'lib/etracking/client.rb', line 16 def key_secret @key_secret end |
#language ⇒ Object
@return [String]
16 17 18 |
# File 'lib/etracking/client.rb', line 16 def language @language end |
Instance Method Details
#api(service, tracking_number) ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/etracking/client.rb', line 56 def api(service, tracking_number) rest_client_api( "#{endpoint}/api/v2/tracks/#{service}", "post", headers, payload_tracking_number(tracking_number) ) end |
#dhl_express(tracking_number) ⇒ Object
65 66 67 |
# File 'lib/etracking/client.rb', line 65 def dhl_express(tracking_number) api('dhl_express', tracking_number) end |
#endpoint ⇒ Object
29 30 31 |
# File 'lib/etracking/client.rb', line 29 def endpoint 'http://165.22.52.6' end |
#flash_express(tracking_number) ⇒ Object
69 70 71 |
# File 'lib/etracking/client.rb', line 69 def flash_express(tracking_number) api('flash_express', tracking_number) end |
#headers ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/etracking/client.rb', line 44 def headers api_key_required key_secret_required { etracking_api_key: api_key, etracking_key_secret: key_secret, content_type: 'application/json', accept_language: language || 'TH' } end |
#jt_express(tracking_number) ⇒ Object
73 74 75 |
# File 'lib/etracking/client.rb', line 73 def jt_express(tracking_number) api('jt_express', tracking_number) end |
#kerry_express(tracking_number) ⇒ Object
77 78 79 |
# File 'lib/etracking/client.rb', line 77 def kerry_express(tracking_number) api('kerry_express', tracking_number) end |
#lazada_express(tracking_number) ⇒ Object
81 82 83 |
# File 'lib/etracking/client.rb', line 81 def lazada_express(tracking_number) api('lazada_express', tracking_number) end |
#payload_tracking_number(tracking_number) ⇒ Object
api(‘thailand_post’, tracking_number) end
99 100 101 102 103 |
# File 'lib/etracking/client.rb', line 99 def payload_tracking_number(tracking_number) { tracking_number: tracking_number } end |
#rest_client_api(url, method, headers, payload) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/etracking/client.rb', line 33 def rest_client_api(url, method, headers, payload) response = RestClient::Request.new({ url: url, method: method.to_sym, headers: headers, payload: payload.to_json }).execute do |response, request, result| return JSON.parse(response.to_str) end end |
#scg_express(tracking_number) ⇒ Object
85 86 87 |
# File 'lib/etracking/client.rb', line 85 def scg_express(tracking_number) api('scg_express', tracking_number) end |
#shopee_express(tracking_number) ⇒ Object
89 90 91 |
# File 'lib/etracking/client.rb', line 89 def shopee_express(tracking_number) api('shopee_express', tracking_number) end |