ruby-jet 0.0.2 → 0.0.3
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 +4 -4
- data/lib/jet.rb +4 -2
- data/lib/jet/client.rb +35 -0
- data/lib/jet/client/orders.rb +48 -0
- metadata +32 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 71afa7eeb9d1be14f937d9dc16b4be21327aaf13
|
4
|
+
data.tar.gz: 2e95a46129958770107982df8a5875b2d8c6cd85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcc64b65fb20aed545692acdf068b62d99a16677f734861d545c8af1ca22142fafc04b6ab7d8fe1d59a6278c86b0ab13398479b35fdf98502c3653f9d16da21a
|
7
|
+
data.tar.gz: 507959a7265744150083dc1c89df0a9fb7dccc3a349e17be27dadba200424ff00a17456a58ec002d77795000cde38d977984bba4f832f231017dfd1eaea2bf9d
|
data/lib/jet.rb
CHANGED
data/lib/jet/client.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rest-client'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
class Jet::Client
|
5
|
+
|
6
|
+
API_URL = 'https://merchant-api.jet.com/api'
|
7
|
+
|
8
|
+
def initialize(config = {})
|
9
|
+
@api_user = config[:api_user]
|
10
|
+
@secret = config[:secret]
|
11
|
+
@merchant_id = config[:merchant_id]
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_token
|
15
|
+
if not (@id_token and @token_type and @expires_on > Time.now)
|
16
|
+
body = {
|
17
|
+
user: @api_user,
|
18
|
+
pass: @secret
|
19
|
+
}
|
20
|
+
response = RestClient.post("#{API_URL}/token", body.to_json)
|
21
|
+
parsed_response = JSON.parse(response.body)
|
22
|
+
@id_token = parsed_response['id_token']
|
23
|
+
@token_type = parsed_response['token_type']
|
24
|
+
@expires_on = Time.parse(parsed_response['expires_on'])
|
25
|
+
end
|
26
|
+
|
27
|
+
{Authorization: "#{@token_type} #{@id_token}"}
|
28
|
+
end
|
29
|
+
|
30
|
+
def orders
|
31
|
+
Orders.new(self)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
require 'jet/client/orders'
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'rest-client'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
class Jet::Client::Orders
|
5
|
+
|
6
|
+
STATUSES = {
|
7
|
+
created: 'created',
|
8
|
+
ready: 'ready',
|
9
|
+
acknowledged: 'acknowledged',
|
10
|
+
inprogress: 'inprogress',
|
11
|
+
complete: 'complete',
|
12
|
+
}
|
13
|
+
|
14
|
+
def initialize(client)
|
15
|
+
@client = client
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_orders(status = :ready)
|
19
|
+
headers = @client.get_token
|
20
|
+
query_status = STATUSES[status]
|
21
|
+
response = RestClient.get("#{Jet::Client::API_URL}/orders/#{query_status}", headers)
|
22
|
+
if response.code == 200
|
23
|
+
JSON.parse(response.body)
|
24
|
+
else
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def get_order(order_url)
|
30
|
+
headers = @client.get_token
|
31
|
+
response = RestClient.get("#{Jet::Client::API_URL}#{order_url}", headers)
|
32
|
+
if response.code == 200
|
33
|
+
JSON.parse(response.body)
|
34
|
+
else
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_order_by_id(order_id)
|
40
|
+
headers = @client.get_token
|
41
|
+
response = RestClient.get("#{Jet::Client::API_URL}/orders/withoutShipmentDetail/#{order_id}", headers)
|
42
|
+
if response.code == 200
|
43
|
+
JSON.parse(response.body)
|
44
|
+
else
|
45
|
+
nil
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-jet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Wells
|
@@ -9,7 +9,35 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2015-09-29 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
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: '1.8'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.8'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.8'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.8'
|
13
41
|
description: Jet API service calls implemented in Ruby
|
14
42
|
email: flipstock@gmail.com
|
15
43
|
executables: []
|
@@ -17,6 +45,8 @@ extensions: []
|
|
17
45
|
extra_rdoc_files: []
|
18
46
|
files:
|
19
47
|
- lib/jet.rb
|
48
|
+
- lib/jet/client.rb
|
49
|
+
- lib/jet/client/orders.rb
|
20
50
|
homepage: https://github.com/jasonwells/ruby-jet
|
21
51
|
licenses:
|
22
52
|
- MIT
|