ruby-jet 0.5.0 → 0.6.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5190b45ea661721139ce27889e32faf90a8849ec
4
- data.tar.gz: fbf8feb37324ec7e2a2cd328cc12cd32bc8cdd61
3
+ metadata.gz: ffd0b98c1113276596df5721354d63e19984bd9d
4
+ data.tar.gz: ace62bd2d6dadbee4b05ec2c45473a0efb1c5159
5
5
  SHA512:
6
- metadata.gz: c720821aa867dc50127be31fd02898bbbbb9a5f6b17547cd5853204c743d0475f98052202d52fc1c08d8256521659f9cd7d63950d2f5b6e157c9d4961bbc7238
7
- data.tar.gz: d46c4d94597545aad8314813b0ac93d27c007813382567867fa7de689ddac6cd03ab37d0810fc9c09d6eb8e88c1093f9a459b71b3010439f618c60288ad5e8bb
6
+ metadata.gz: 69ee0a26c38782a3f41840567e781a3006f3df4e80345c87ed3924a0a9876a82f54096a1179b25b098a1e8a4e2b7109c02d8f75777c89ce827d59ed812060534
7
+ data.tar.gz: 28ae7db1a3ec791e56a74c32416ef02c02fe6253ef654e873be156d2ac64a887d2571b882af298b7f54c899803e319b0aa0af67277733d7af2db752ca6b6bfc0
@@ -1,5 +1,5 @@
1
1
  require 'rest-client'
2
- require 'json'
2
+ require 'oj'
3
3
  require 'zlib'
4
4
  require 'stringio'
5
5
 
@@ -20,14 +20,14 @@ class Jet::Client::Files
20
20
  gz.close
21
21
  gzipped_body = io.string
22
22
  response = RestClient.put(url, gzipped_body, headers)
23
- JSON.parse(response.body) if response.code == 200
23
+ @client.decode_json(response.body) if response.code == 200
24
24
  end
25
25
 
26
26
  def uploaded_files(url, file_type, file_name)
27
27
  headers = @client.token
28
28
  body = { url: url, file_type: file_type, file_name: file_name }
29
- response = RestClient.post("#{Jet::Client::API_URL}/files/uploaded", body.to_json, headers)
30
- JSON.parse(response.body) if response.code == 200
29
+ response = RestClient.post("#{Jet::Client::API_URL}/files/uploaded", @client.encode_json(body), headers)
30
+ @client.decode_json(response.body) if response.code == 200
31
31
  end
32
32
 
33
33
  def jet_file_id(file_id)
@@ -1,5 +1,4 @@
1
1
  require 'rest-client'
2
- require 'json'
3
2
 
4
3
  class Jet::Client::Orders
5
4
 
@@ -1,5 +1,4 @@
1
1
  require 'rest-client'
2
- require 'json'
3
2
 
4
3
  class Jet::Client::Products
5
4
  def initialize(client)
@@ -38,4 +37,3 @@ class Jet::Client::Products
38
37
  @client.rest_get_with_token('/merchant-skus', params)
39
38
  end
40
39
  end
41
-
@@ -1,5 +1,4 @@
1
1
  require 'rest-client'
2
- require 'json'
3
2
 
4
3
  class Jet::Client::Returns
5
4
 
@@ -27,10 +26,6 @@ class Jet::Client::Returns
27
26
  @client.rest_get_with_token("/returns/state/#{return_id}")
28
27
  end
29
28
 
30
- def acknowledge_return(return_id, body = {})
31
- @client.rest_put_with_token("/returns/#{return_id}/acknowledge", body)
32
- end
33
-
34
29
  def complete_return(return_id, body = {})
35
30
  @client.rest_put_with_token("/returns/#{return_id}/complete", body)
36
31
  end
@@ -1,5 +1,4 @@
1
1
  require 'rest-client'
2
- require 'json'
3
2
 
4
3
  class Jet::Client::Taxonomy
5
4
  def initialize(client)
data/lib/jet/client.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'rest-client'
2
- require 'json'
2
+ require 'oj'
3
3
 
4
4
  class Jet::Client
5
5
  API_URL = 'https://merchant-api.jet.com/api'
@@ -10,14 +10,22 @@ class Jet::Client
10
10
  @merchant_id = config[:merchant_id]
11
11
  end
12
12
 
13
+ def encode_json(data)
14
+ Oj.dump(data, mode: :compat)
15
+ end
16
+
17
+ def decode_json(json)
18
+ Oj.load(json)
19
+ end
20
+
13
21
  def token
14
22
  if not (@id_token and @token_type and @expires_on > Time.now)
15
23
  body = {
16
24
  user: @api_user,
17
25
  pass: @secret
18
26
  }
19
- response = RestClient.post("#{API_URL}/token", body.to_json)
20
- parsed_response = JSON.parse(response.body)
27
+ response = RestClient.post("#{API_URL}/token", encode_json(body))
28
+ parsed_response = decode_json(response.body)
21
29
  @id_token = parsed_response['id_token']
22
30
  @token_type = parsed_response['token_type']
23
31
  @expires_on = Time.parse(parsed_response['expires_on'])
@@ -30,13 +38,13 @@ class Jet::Client
30
38
  headers = token
31
39
  headers.merge!({ params: query_params }) unless query_params.empty?
32
40
  response = RestClient.get("#{API_URL}#{path}", headers)
33
- JSON.parse(response.body) if response.code == 200
41
+ decode_json(response.body) if response.code == 200
34
42
  end
35
43
 
36
44
  def rest_put_with_token(path, body = {})
37
45
  headers = token
38
46
  response = RestClient.put("#{API_URL}#{path}", body.to_json, headers)
39
- JSON.parse(response.body) if response.code == 200
47
+ decode_json(response.body) if response.code == 200
40
48
  end
41
49
 
42
50
  def orders
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-jet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Wells
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-06 00:00:00.000000000 Z
11
+ date: 2016-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.8'
27
27
  - !ruby/object:Gem::Dependency
28
- name: json
28
+ name: oj
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.8'
33
+ version: '2.15'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.8'
40
+ version: '2.15'
41
41
  description: Jet API service calls implemented in Ruby
42
42
  email:
43
43
  - flipstock@gmail.com