etracking 2.5.2 → 2.5.9

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 +13 -28
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da68f4499b11a56394f48267213c4cbdf8b70ee56750739b3f6f87067ffbfb05
4
- data.tar.gz: 86d97a1e085700616c6feca8e05dee272c758068a1d124d7a7f028a385a76eca
3
+ metadata.gz: 435d179be9a3dbe643817af21fb02352d2ecb4d76f594d855188db1de1760f02
4
+ data.tar.gz: 0a3c0faa4f89b7c210ce1cb33586ac1efed09a7b4a71636039b941cbb81ea887
5
5
  SHA512:
6
- metadata.gz: 31109b9f8dbd4c1eebe693da376df81fc27366d94a16387b17e49cf1e6c55238a35cff0f1b7a26cab3769fd0db4f1f49d11f3b5d24ba7fea01caec2ee6032db7
7
- data.tar.gz: 15f042d8b37168b391d5b8fdb3fd6cc5bac9563de9b1e55a6bfa79fb97e645f8a25c76828eb2aa85529fc63656b88db0e1c4c43f25e3a22a2627ad78c6c2d734
6
+ metadata.gz: 4a946a6029a7f62fa15ef3a682462260dd18eab3d85608c8809b92207c2270203d9dbcf1e10c118cec2ee30e7bf3edde6f4c24badcbc76c6ccbf63a34aed93bd
7
+ data.tar.gz: 2e329800ddb8b8fa8f9d01462e4e4553347a54dc418a7c8739578ad3efea303dbd8683496057b68fb3f2752a5b354008e8d328fe33ec10e462e2d185b24df26e
@@ -14,7 +14,7 @@ module Etracking
14
14
 
15
15
  class Client
16
16
  # @return [String]
17
- attr_accessor :api_key, :key_secret, :language, :thailand_post_api_key
17
+ attr_accessor :api_key, :key_secret, :language
18
18
 
19
19
  # Initialize a new client.
20
20
  #
@@ -31,33 +31,24 @@ module Etracking
31
31
  'https://etrackings.com/api/v2/tracks/'
32
32
  end
33
33
 
34
- def headers(request)
34
+ def rest_api(path, payload)
35
35
  api_key_required
36
36
  key_secret_required
37
37
 
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'
38
+ url = URI("#{endpoint}#{path}")
42
39
 
43
- request
44
- end
40
+ https = Net::HTTP.new(url.host, url.port);
41
+ https.use_ssl = true
45
42
 
46
- def rest_api(path, payload)
47
- uri = URI.parse("#{endpoint}#{path}")
48
- request = Net::HTTP::Post.new(uri)
49
- request = headers(headers)
43
+ request = Net::HTTP::Post.new(url)
44
+ request["etracking-api-key"] = api_key
45
+ request["etracking-key-secret"] = key_secret
46
+ request["accept-language"] = language || 'th'
47
+ request["content-type"] = ["application/json", "text/plain"]
50
48
  request.body = payload.to_json
49
+ response = https.request(request)
51
50
 
52
- req_options = {
53
- use_ssl: uri.scheme == "https",
54
- }
55
-
56
- response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
57
- http.request(request)
58
- end
59
-
60
- JSON.parse(response.body, { symbolize_names: true } )
51
+ JSON.parse(response.read_body, { symbolize_names: true } )
61
52
  end
62
53
 
63
54
  def track(service_name, tracking_number)
@@ -93,9 +84,7 @@ module Etracking
93
84
  end
94
85
 
95
86
  def thailand_post(tracking_number)
96
- thailand_post_api_key
97
-
98
- api('thailand_post', payload_tracking_number(tracking_number))
87
+ rest_api('/thailand_post', payload_tracking_number(tracking_number))
99
88
  end
100
89
 
101
90
  def payload_with_service_and_tracking_number(service_name, tracking_number)
@@ -120,9 +109,5 @@ module Etracking
120
109
  def key_secret_required
121
110
  raise ArgumentError, '`key_secret` is not configured' unless key_secret
122
111
  end
123
-
124
- def thailand_post_api_key_required
125
- raise ArgumentError, '`thailand_post_api_key` is not configured' unless thailand_post_api_key
126
- end
127
112
  end
128
113
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: etracking
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saharak Manoo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-28 00:00:00.000000000 Z
11
+ date: 2020-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable