etracking 1.0.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/etracking/client.rb +32 -39
  3. metadata +1 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d91b7a47ffe364bb62921f0fb13d1bb1ea1c66e375783749663fcb663af718d
4
- data.tar.gz: bce631d4879eb5d015fe784a9223d709f833a7b353526371fbd93939421d986a
3
+ metadata.gz: 7d9fb869409fc70154935c0c892387b7291dd8514c6e1e2dd362d73e43786efa
4
+ data.tar.gz: 2a1e390e1b8b9263c2be3db48de9a22750e8b9af99c200a5a9d5dbcb476908f1
5
5
  SHA512:
6
- metadata.gz: 9d774e0c518a0a7132a7ae90aaad31099c2953b817a2ebfa7cbe77a6d0b17466f074f3df7a39e9e63500bcf8fe7ac964c986cd2cc9fcc85231935f745cab92a9
7
- data.tar.gz: f0f19815f8a771141d852d750f316f76b65c550e6b50c74d34f4dd9d053a825df7448734dfb58c0ce230b0fe580ab63d643512c338f90fb3cc4365858ffdd86f
6
+ metadata.gz: 8c92ed8ad920783438338eabd6392666b07f63376032e78c7b67ab9c16c543b3a862a3a74a5e301ddc8cf752b87146cf2f7a3b1d385961e6f24b4b373c2812b8
7
+ data.tar.gz: 71aa3df5a4e3cf30fc018224c6580740b0dd5f8cb919194e13e81b741c03e15ed7ae9d549cbe01f86c4de49308f0a589f81569526c715a2bfd8e4b87859ecbfc
@@ -1,5 +1,6 @@
1
- require 'rest-client'
2
- require 'securerandom'
1
+ require 'uri'
2
+ require 'net/http'
3
+ require 'json'
3
4
 
4
5
  module Etracking
5
6
 
@@ -27,73 +28,65 @@ module Etracking
27
28
  end
28
29
 
29
30
  def endpoint
30
- 'http://etrackings.com'
31
+ 'http://165.22.52.6/api/v2/tracks/'
31
32
  end
32
33
 
33
- def rest_client_api(url, method, headers, payload)
34
- response = RestClient::Request.new({
35
- url: url,
36
- method: method.to_sym,
37
- headers: headers,
38
- payload: payload.to_json
39
- }).execute do |response, request, result|
40
- return JSON.parse(response.to_str)
41
- end
42
- end
43
-
44
- def headers
34
+ def headers(request)
45
35
  api_key_required
46
36
  key_secret_required
47
37
 
48
- {
49
- etracking_api_key: api_key,
50
- etracking_key_secret: key_secret,
51
- content_type: 'application/json',
52
- accept_language: language || 'TH'
53
- }
38
+ request['etracking-api-key'] = api_key
39
+ request['etracking-key-secret'] = key_secret
40
+ request['accept-language'] = language || 'TH'
41
+ request['content-type'] = 'application/json'
42
+
43
+ request
54
44
  end
55
45
 
56
- def api(service, tracking_number)
57
- rest_client_api(
58
- "#{endpoint}/api/v2/tracks/#{service}",
59
- "post",
60
- headers,
61
- payload_tracking_number(tracking_number)
62
- )
46
+ def rest_api(path, payload)
47
+ url = URI("#{endpoint}#{path}")
48
+
49
+ http = Net::HTTP.new(url.host, url.port);
50
+ request = Net::HTTP::Post.new(url)
51
+ request = headers(request)
52
+ request.body = payload.to_json
53
+
54
+ response = http.request(request)
55
+ JSON.parse(response.read_body, { symbolize_names: true } )
63
56
  end
64
57
 
65
58
  def dhl_express(tracking_number)
66
- api('dhl_express', tracking_number)
59
+ rest_api('/dhl_express', payload_tracking_number(tracking_number))
67
60
  end
68
61
 
69
62
  def flash_express(tracking_number)
70
- api('flash_express', tracking_number)
63
+ rest_api('/flash_express', payload_tracking_number(tracking_number))
71
64
  end
72
65
 
73
66
  def jt_express(tracking_number)
74
- api('jt_express', tracking_number)
67
+ rest_api('/jt_express', payload_tracking_number(tracking_number))
75
68
  end
76
69
 
77
70
  def kerry_express(tracking_number)
78
- api('kerry_express', tracking_number)
71
+ rest_api('/kerry_express', payload_tracking_number(tracking_number))
79
72
  end
80
73
 
81
74
  def lazada_express(tracking_number)
82
- api('lazada_express', tracking_number)
75
+ rest_api('/lazada_express', payload_tracking_number(tracking_number))
83
76
  end
84
77
 
85
78
  def scg_express(tracking_number)
86
- api('scg_express', tracking_number)
79
+ rest_api('/scg_express', payload_tracking_number(tracking_number))
87
80
  end
88
81
 
89
82
  def shopee_express(tracking_number)
90
- api('shopee_express', tracking_number)
83
+ rest_api('/shopee_express', payload_tracking_number(tracking_number))
91
84
  end
92
85
 
93
86
  # def thailand_post(tracking_number)
94
87
  # thailand_post_api_key
95
88
 
96
- # api('thailand_post', tracking_number)
89
+ # api('thailand_post', payload_tracking_number(tracking_number))
97
90
  # end
98
91
 
99
92
  def payload_tracking_number(tracking_number)
@@ -112,8 +105,8 @@ module Etracking
112
105
  raise ArgumentError, '`key_secret` is not configured' unless key_secret
113
106
  end
114
107
 
115
- def thailand_post_api_key_required
116
- raise ArgumentError, '`thailand_post_api_key` is not configured' unless thailand_post_api_key
117
- end
108
+ # def thailand_post_api_key_required
109
+ # raise ArgumentError, '`thailand_post_api_key` is not configured' unless thailand_post_api_key
110
+ # end
118
111
  end
119
112
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etracking
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saharak Manoo
@@ -10,20 +10,6 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rest-client
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 2.0.1
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 2.0.1
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: addressable
29
15
  requirement: !ruby/object:Gem::Requirement