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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 42b4c91faff518e576162f232c2ff620dab0fc22
4
- data.tar.gz: 632a4490167f5cb65195799a9760c35b98bd10da
3
+ metadata.gz: 71afa7eeb9d1be14f937d9dc16b4be21327aaf13
4
+ data.tar.gz: 2e95a46129958770107982df8a5875b2d8c6cd85
5
5
  SHA512:
6
- metadata.gz: 7d456e2e4ff8ac7120ae4a4028f2dca379e9f73c3480755f7e4b095218815b453e98620fd5d1bfa2874254f4f4813690298c9ffdebd585e56e008b3d7836d6dd
7
- data.tar.gz: 09b571c9121f44da4df76a4c4993311ca9bf91c28e004c3c201cd16a7da7a60ebb06353c5ef8b761a57ce73010e1d16f4de720fd7af7bd3002c59bdc081f4317
6
+ metadata.gz: fcc64b65fb20aed545692acdf068b62d99a16677f734861d545c8af1ca22142fafc04b6ab7d8fe1d59a6278c86b0ab13398479b35fdf98502c3653f9d16da21a
7
+ data.tar.gz: 507959a7265744150083dc1c89df0a9fb7dccc3a349e17be27dadba200424ff00a17456a58ec002d77795000cde38d977984bba4f832f231017dfd1eaea2bf9d
data/lib/jet.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  class Jet
2
- def self.test
3
- return 'Hello, gem test!'
2
+ def self.client(credentials = {})
3
+ Client.new(credentials)
4
4
  end
5
5
  end
6
+
7
+ require 'jet/client'
@@ -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.2
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