ruby-jet 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|