provide-ruby 0.12.0 → 0.13.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: ce62f78ab369ccfba5256221d22c122e70def822
4
- data.tar.gz: ec6658ac68dc25be8957fd8fd466d11e1047860c
3
+ metadata.gz: 6754d87184282ebd5de6011ef421df25b405dab1
4
+ data.tar.gz: 7b81d1c41abe61a115970668212c3e0c48a01e1a
5
5
  SHA512:
6
- metadata.gz: a9e1fdb52adb73659b4bd9216f97d19a4770e2ba376d293c0f927a3935f02179e5d824109d94a556343eb7659cee7bbb43890cec071bd434d5d0446226498d6d
7
- data.tar.gz: 1a34b8b73a1182bd563aeb011724c282c8767b8be0e599f45d93879757e4eaf91978b63a71c7b86517a842d007979a96667ba61805d1a3f1fcd5fdaa4a8781fb
6
+ metadata.gz: f5b5a70330d0726dd1fc4ae5dcd20f89d5687010ea194b8bf3323217927f95e95ff39094c23a7a2fa8f10e77f4c1d2a17f5104333b5661b40b3cde4b0b951f05
7
+ data.tar.gz: e03036e1dfabb22b127ff14c005d1f991bbda7bfe718d3fdff7e170f10cf5bd5da53a64aee635f8e30064694af7108d99490ca4ac3f2dee51c7e9922a7edf42f
@@ -8,12 +8,11 @@ API_MAX_ATTEMPTS = (ENV['API_MAX_ATTEMPTS'] || 5).to_i
8
8
  module Provide
9
9
  class ApiClient
10
10
 
11
- attr_reader :base_url, :token, :secret
11
+ attr_reader :base_url, :token
12
12
 
13
- def initialize(scheme = API_SCHEME, host = API_HOST, path = 'api/', token = nil, secret = nil)
13
+ def initialize(scheme = API_SCHEME, host = API_HOST, path = 'api/', token = nil)
14
14
  @base_url = "#{scheme}://#{host}/#{path}"
15
15
  @token = token
16
- @secret = secret
17
16
  end
18
17
 
19
18
  def get(uri, params = nil)
@@ -49,16 +48,10 @@ module Provide
49
48
 
50
49
  private
51
50
 
52
- def api_authorization_header
53
- return nil unless token && secret
54
- creds = "#{token}:#{secret}"
55
- "Basic #{Base64.urlsafe_encode64(creds)}"
56
- end
57
-
58
51
  def default_headers
59
52
  headers = {}
60
53
  headers['User-Agent'] = API_USER_AGENT
61
- headers['X-API-Authorization'] = api_authorization_header if api_authorization_header
54
+ headers['Authorization'] = "bearer #{token}" if token
62
55
  headers
63
56
  end
64
57
  end
@@ -0,0 +1,57 @@
1
+ module Provide
2
+ module Services
3
+ class Ident < Provide::ApiClient
4
+
5
+ def initialize(scheme = 'http', host)
6
+ @scheme = scheme
7
+ @host = host
8
+ end
9
+
10
+ def create_application(params)
11
+ parse client.post 'applications', params
12
+ end
13
+
14
+ def applications
15
+ parse client.get 'applications'
16
+ end
17
+
18
+ def authenticate(params)
19
+ parse client.post 'authenticate', params
20
+ end
21
+
22
+ def tokens(params)
23
+ parse client.get 'tokens', params
24
+ end
25
+
26
+ def delete_token(token_id)
27
+ parse client.delete("tokens/#{token_id}")
28
+ end
29
+
30
+ def create_user(params)
31
+ parse client.post 'users', params
32
+ end
33
+
34
+ def users
35
+ parse client.get 'users'
36
+ end
37
+
38
+ private
39
+
40
+ def client
41
+ @client ||= begin
42
+ Provide::ApiClient.new(@scheme, @host, 'api/v1/')
43
+ end
44
+ end
45
+
46
+ def parse(response)
47
+ begin
48
+ return response.code, JSON.parse(response.body)
49
+ rescue
50
+ raise Exception.new({
51
+ :code => response.code,
52
+ })
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -1,3 +1,3 @@
1
1
  module Provide
2
- VERSION = '0.12.0'
2
+ VERSION = '0.13.0'
3
3
  end
data/lib/provide-ruby.rb CHANGED
@@ -9,7 +9,7 @@ require 'provide-ruby/api_client'
9
9
  # require 'provide-ruby/services/bossman'
10
10
  # require 'provide-ruby/services/cliger'
11
11
  require 'provide-ruby/services/goldmine'
12
- # require 'provide-ruby/services/ident'
12
+ require 'provide-ruby/services/ident'
13
13
  # require 'provide-ruby/services/revere'
14
14
  require 'provide-ruby/services/tourguide'
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: provide-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Thomas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-10 00:00:00.000000000 Z
11
+ date: 2018-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -115,6 +115,7 @@ files:
115
115
  - lib/provide-ruby.rb
116
116
  - lib/provide-ruby/api_client.rb
117
117
  - lib/provide-ruby/services/goldmine.rb
118
+ - lib/provide-ruby/services/ident.rb
118
119
  - lib/provide-ruby/services/tourguide.rb
119
120
  - lib/provide-ruby/version.rb
120
121
  - provide-ruby.gemspec