aptible-auth 0.4.3 → 0.5.0

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: a8af4bf9e2e8ac1bb6966eaee5354eec672ca3a8
4
- data.tar.gz: 469679f0afb91b09d850ad2a74d120aad664daa5
3
+ metadata.gz: 1d8c13460cf708f5e18e6eb88460d82e5198de56
4
+ data.tar.gz: 796d6154994eccc679d26147d16fe8c0e9a31952
5
5
  SHA512:
6
- metadata.gz: ea85782e75ddace3eb78f66a3abab1f25b3f224c1256ece3a225f35f23bcbd54a824a3d735ac44bc3cb2f079a5d9269549742b4af92f0b33ecb30bccc3ae5259
7
- data.tar.gz: b93bac000b8b1234a4beb3930fc9415c165ff72199535afa7679f1c5132ef55b740373fee970950cfc97494e1b9d682eee227866b965273387a61ef14f751b33
6
+ metadata.gz: 0c6be2c7ec992a4686aa7d790d3d5ec13b3e6169f236181399cd5d2427284f9105bdb0e3d360c0c1594c1668d0a0756b077ab5eb4c014c8e72e98931adcbe60b
7
+ data.tar.gz: 19391a96c1c2e1fd83e8096dcc13aa6fb3c86ae2c5a9a774d5ae970cde1136574dccc1866aadcce2298f3b75a0f4fe321ac9245ed372505c478a263ab43e601a
@@ -3,10 +3,11 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  require 'English'
6
+ require 'aptible/auth/version'
6
7
 
7
8
  Gem::Specification.new do |spec|
8
9
  spec.name = 'aptible-auth'
9
- spec.version = '0.4.3'
10
+ spec.version = Aptible::Auth::VERSION
10
11
  spec.authors = ['Frank Macreery']
11
12
  spec.email = ['frank@macreery.com']
12
13
  spec.description = 'Ruby client for auth.aptible.com'
@@ -18,11 +19,9 @@ Gem::Specification.new do |spec|
18
19
  spec.test_files = spec.files.grep(/^spec\//)
19
20
  spec.require_paths = ['lib']
20
21
 
22
+ spec.add_dependency 'aptible-resource', '>= 0.1.1'
21
23
  spec.add_dependency 'gem_config'
22
24
  spec.add_dependency 'oauth2-aptible'
23
- spec.add_dependency 'hyperresource-aptible', '>= 0.9.0'
24
- spec.add_dependency 'fridge'
25
- spec.add_dependency 'activesupport'
26
25
 
27
26
  spec.add_development_dependency 'bundler', '~> 1.3'
28
27
  spec.add_development_dependency 'aptible-tasks', '>= 0.2.0'
@@ -1,13 +1,9 @@
1
1
  require 'gem_config'
2
- require 'hyperresource'
3
- require 'fridge'
4
2
 
5
3
  module Aptible
6
- class Auth < HyperResource
4
+ module Auth
7
5
  include GemConfig::Base
8
6
 
9
- attr_accessor :token, :config
10
-
11
7
  with_configuration do
12
8
  has :root_url,
13
9
  classes: [String],
@@ -15,58 +11,10 @@ module Aptible
15
11
  end
16
12
 
17
13
  def self.public_key
18
- Resource.new.get.public_key
19
- end
20
-
21
- def self.get_data_type_from_response(response)
22
- return nil unless response && response.body
23
- adapter.get_data_type_from_object(adapter.deserialize(response.body))
24
- end
25
-
26
- def self.adapter
27
- Aptible::Auth::Adapter
28
- end
29
-
30
- def adapter
31
- self.class.adapter
32
- end
33
-
34
- def initialize(options = {})
35
- if options.is_a?(Hash)
36
- self.token = options[:token]
37
-
38
- options[:root] ||= config.root_url
39
- options[:namespace] ||= 'Aptible::Auth'
40
- options[:headers] ||= { 'Content-Type' => 'application/json' }
41
- options[:headers].merge!(
42
- 'Authorization' => "Bearer #{bearer_token}"
43
- ) if options[:token]
44
- end
45
-
46
- super(options)
47
- end
48
-
49
- def find_by_url(url)
50
- fail "URL must be rooted at #{root}" unless /^#{root}/.match url
51
-
52
- resource = dup
53
- resource.href = url.gsub(/^#{root}/, '')
54
- resource.get
55
- end
56
-
57
- def bearer_token
58
- case token
59
- when Aptible::Auth::Token then token.access_token
60
- when Fridge::AccessToken then token.to_s
61
- when String then token
62
- end
63
- end
64
-
65
- def config
66
- @config ||= Aptible::Auth.configuration
14
+ Agent.new.public_key
67
15
  end
68
16
  end
69
17
  end
70
18
 
71
- require 'aptible/auth/adapter'
72
19
  require 'aptible/auth/resource'
20
+ require 'aptible/auth/agent'
@@ -0,0 +1,6 @@
1
+ module Aptible
2
+ module Auth
3
+ class Agent < Resource
4
+ end
5
+ end
6
+ end
@@ -1,6 +1,7 @@
1
- # rubocop:disable ClassAndModuleChildren
2
1
  module Aptible
3
- class Auth::Client < Auth::Resource
4
- belongs_to :user
2
+ module Auth
3
+ class Client < Resource
4
+ belongs_to :user
5
+ end
5
6
  end
6
7
  end
@@ -1,7 +1,8 @@
1
- # rubocop:disable ClassAndModuleChildren
2
1
  module Aptible
3
- class Auth::Membership < Auth::Resource
4
- belongs_to :role
5
- belongs_to :user
2
+ module Auth
3
+ class Membership < Resource
4
+ belongs_to :role
5
+ belongs_to :user
6
+ end
6
7
  end
7
8
  end
@@ -1,21 +1,22 @@
1
- # rubocop:disable ClassAndModuleChildren
2
1
  module Aptible
3
- class Auth::Organization < Auth::Resource
4
- has_many :roles
2
+ module Auth
3
+ class Organization < Resource
4
+ has_many :roles
5
5
 
6
- def security_officer
7
- # REVIEW: Examine underlying data model for a less arbitrary solution
8
- security_officers_role = roles.find do |role|
9
- role.name == 'Security Officers'
6
+ def security_officer
7
+ # REVIEW: Examine underlying data model for a less arbitrary solution
8
+ security_officers_role = roles.find do |role|
9
+ role.name == 'Security Officers'
10
+ end
11
+ security_officers_role.users.first if security_officers_role
10
12
  end
11
- security_officers_role.users.first if security_officers_role
12
- end
13
13
 
14
- def accounts
15
- api = Aptible::Api.new(token: token, headers: headers)
16
- api.get unless api.loaded
17
- accounts = api.accounts.entries
18
- accounts.select { |account| account.organization.href == href }
14
+ def accounts
15
+ require 'aptible/api'
16
+
17
+ accounts = Aptible::Api::Account.all(token: token, headers: headers)
18
+ accounts.select { |account| account.organization.href == href }
19
+ end
19
20
  end
20
21
  end
21
22
  end
@@ -1,93 +1,14 @@
1
- require 'active_support/inflector'
1
+ require 'aptible/resource'
2
2
 
3
- # rubocop:disable ClassAndModuleChildren
4
3
  module Aptible
5
- class Auth::Resource < Auth
6
- def self.basename
7
- name.split('::').last.downcase.pluralize
8
- end
9
-
10
- def self.collection_url
11
- config = Aptible::Auth.configuration
12
- config.root_url.chomp('/') + "/#{basename}"
13
- end
14
-
15
- def self.all(options = {})
16
- resource = find_by_url(collection_url, options)
17
- return [] unless resource
18
- resource.send(basename).entries
19
- end
20
-
21
- def self.find(id, options = {})
22
- find_by_url("#{collection_url}/#{id}", options)
23
- end
24
-
25
- def self.find_by_url(url, options = {})
26
- # REVIEW: Should exception be raised if return type mismatch?
27
- new(options).find_by_url(url)
28
- rescue HyperResource::ClientError => e
29
- if e.response.status == 404
30
- return nil
31
- else
32
- raise e
33
- end
34
- end
35
-
36
- def self.create(params)
37
- token = params.delete(:token)
38
- auth = Auth.new(token: token)
39
- auth.send(basename).create(normalize_params(params))
40
- end
41
-
42
- # rubocop:disable PredicateName
43
- def self.has_many(relation)
44
- define_has_many_getter(relation)
45
- define_has_many_setter(relation)
46
- end
47
- # rubocop:enable PredicateName
48
-
49
- def self.belongs_to(relation)
50
- define_method relation do
51
- get unless loaded
52
- if (memoized = instance_variable_get("@#{relation}"))
53
- memoized
54
- else
55
- instance_variable_set("@#{relation}", links[relation].get)
56
- end
4
+ module Auth
5
+ class Resource < Aptible::Resource::Base
6
+ def namespace
7
+ 'Aptible::Auth'
57
8
  end
58
- end
59
-
60
- def self.normalize_params(params = {})
61
- params_array = params.map do |key, value|
62
- value.is_a?(HyperResource) ? [key, value.href] : [key, value]
63
- end
64
- Hash[params_array]
65
- end
66
-
67
- def update(params = {})
68
- super(self.class.normalize_params(params))
69
- end
70
-
71
- # NOTE: The following does not update the object in-place
72
- def reload
73
- self.class.find_by_url(href, headers: headers)
74
- end
75
-
76
- def self.define_has_many_getter(relation)
77
- define_method relation do
78
- get unless loaded
79
- if (memoized = instance_variable_get("@#{relation}"))
80
- memoized
81
- elsif links[relation]
82
- instance_variable_set("@#{relation}", links[relation].entries)
83
- end
84
- end
85
- end
86
9
 
87
- def self.define_has_many_setter(relation)
88
- define_method "create_#{relation.to_s.singularize}" do |params = {}|
89
- get unless loaded
90
- links[relation].create(self.class.normalize_params(params))
10
+ def root_url
11
+ Aptible::Auth.configuration.root_url
91
12
  end
92
13
  end
93
14
  end
@@ -1,10 +1,11 @@
1
- # rubocop:disable ClassAndModuleChildren
2
1
  module Aptible
3
- class Auth::Role < Auth::Resource
4
- belongs_to :organization
2
+ module Auth
3
+ class Role < Resource
4
+ belongs_to :organization
5
5
 
6
- def privileged?
7
- !!attributes['privileged']
6
+ def privileged?
7
+ !!attributes['privileged']
8
+ end
8
9
  end
9
10
  end
10
11
  end
@@ -1,6 +1,7 @@
1
- # rubocop:disable ClassAndModuleChildren
2
1
  module Aptible
3
- class Auth::Session < Auth::Resource
4
- belongs_to :user
2
+ module Auth
3
+ class Session < Resource
4
+ belongs_to :user
5
+ end
5
6
  end
6
7
  end
@@ -1,79 +1,80 @@
1
1
  require 'oauth2'
2
2
 
3
- # rubocop:disable ClassAndModuleChildren
4
3
  module Aptible
5
- class Auth::Token < Auth::Resource
6
- attr_accessor :access_token, :refresh_token, :expires_at
4
+ module Auth
5
+ class Token < Resource
6
+ attr_accessor :access_token, :refresh_token, :expires_at
7
7
 
8
- def self.create(options)
9
- token = new
10
- token.process_options(options)
11
- token
12
- end
8
+ def self.create(options)
9
+ token = new
10
+ token.process_options(options)
11
+ token
12
+ end
13
13
 
14
- def authenticate_user(email, password, options = {})
15
- options[:scope] ||= 'manage'
16
- response = oauth.password.get_token(email, password, options)
17
- parse_oauth_response(response)
18
- end
14
+ def authenticate_user(email, password, options = {})
15
+ options[:scope] ||= 'manage'
16
+ response = oauth.password.get_token(email, password, options)
17
+ parse_oauth_response(response)
18
+ end
19
19
 
20
- def authenticate_client(id, secret, subject, options = {})
21
- options[:scope] ||= 'manage'
22
- response = oauth.assertion.get_token({
23
- iss: id,
24
- sub: subject
25
- }.merge(signing_params_from_secret(secret).merge(options)))
26
- parse_oauth_response(response)
27
- end
20
+ def authenticate_client(id, secret, subject, options = {})
21
+ options[:scope] ||= 'manage'
22
+ response = oauth.assertion.get_token({
23
+ iss: id,
24
+ sub: subject
25
+ }.merge(signing_params_from_secret(secret).merge(options)))
26
+ parse_oauth_response(response)
27
+ end
28
28
 
29
- def oauth
30
- options = { site: config.root_url, token_url: '/tokens' }
31
- @oauth ||= OAuth2::Client.new(nil, nil, options)
32
- end
29
+ def oauth
30
+ options = { site: root_url, token_url: '/tokens' }
31
+ @oauth ||= OAuth2::Client.new(nil, nil, options)
32
+ end
33
33
 
34
- def process_options(options)
35
- if (email = options.delete(:email)) &&
36
- (password = options.delete(:password))
37
- authenticate_user(email, password, options)
38
- elsif (client_id = options.delete(:client_id)) &&
39
- (client_secret = options.delete(:client_secret)) &&
40
- (subject = options.delete(:subject))
41
- authenticate_client(client_id, client_secret, subject, options)
34
+ def process_options(options)
35
+ if (email = options.delete(:email)) &&
36
+ (password = options.delete(:password))
37
+ authenticate_user(email, password, options)
38
+ elsif (client_id = options.delete(:client_id)) &&
39
+ (client_secret = options.delete(:client_secret)) &&
40
+ (subject = options.delete(:subject))
41
+ authenticate_client(client_id, client_secret, subject, options)
42
+ end
42
43
  end
43
- end
44
44
 
45
- private
45
+ private
46
46
 
47
- def parse_oauth_response(response)
48
- @access_token = response.token
49
- @refresh_token = response.refresh_token
50
- @expires_at = Time.at(response.expires_at)
51
- end
47
+ def parse_oauth_response(response)
48
+ @access_token = response.token
49
+ @refresh_token = response.refresh_token
50
+ @expires_at = Time.at(response.expires_at)
51
+ end
52
52
 
53
- def signing_params_from_secret(secret)
54
- private_key = parse_private_key(secret)
55
- {
56
- private_key: private_key,
57
- algorithm: "RS#{key_length(private_key) / 2}"
58
- }
59
- end
53
+ def signing_params_from_secret(secret)
54
+ private_key = parse_private_key(secret)
55
+ {
56
+ private_key: private_key,
57
+ algorithm: "RS#{key_length(private_key) / 2}"
58
+ }
59
+ end
60
60
 
61
- def parse_private_key(string)
62
- if string =~ /\A-----/
63
- OpenSSL::PKey::RSA.new(string)
64
- else
65
- formatted_string = <<-PRIVATE_KEY.gsub(/^\s+/, '')
66
- -----BEGIN RSA PRIVATE KEY-----
67
- #{string.scan(/.{1,64}/).join("\n")}
68
- -----END RSA PRIVATE KEY-----
69
- PRIVATE_KEY
70
- OpenSSL::PKey::RSA.new(formatted_string)
61
+ def parse_private_key(string)
62
+ if string =~ /\A-----/
63
+ OpenSSL::PKey::RSA.new(string)
64
+ else
65
+ formatted_string = <<-PRIVATE_KEY.gsub(/^\s+/, '')
66
+ -----BEGIN RSA PRIVATE KEY-----
67
+ #{string.scan(/.{1,64}/).join("\n")}
68
+ -----END RSA PRIVATE KEY-----
69
+ PRIVATE_KEY
70
+ OpenSSL::PKey::RSA.new(formatted_string)
71
+ end
71
72
  end
72
- end
73
73
 
74
- def key_length(private_key)
75
- # http://stackoverflow.com/questions/13747212
76
- private_key.n.num_bytes * 8
74
+ def key_length(private_key)
75
+ # http://stackoverflow.com/questions/13747212
76
+ private_key.n.num_bytes * 8
77
+ end
77
78
  end
78
79
  end
79
80
  end
@@ -1,27 +1,28 @@
1
- # rubocop:disable ClassAndModuleChildren
2
1
  module Aptible
3
- class Auth::User < Auth::Resource
4
- has_many :roles
2
+ module Auth
3
+ class User < Resource
4
+ has_many :roles
5
5
 
6
- def verified?
7
- !!attributes['verified']
8
- end
6
+ def verified?
7
+ !!attributes['verified']
8
+ end
9
9
 
10
- def organizations
11
- roles.map(&:organization)
12
- end
10
+ def organizations
11
+ roles.map(&:organization)
12
+ end
13
13
 
14
- def operations
15
- # TODO: Implement query params for /operations
16
- []
17
- end
14
+ def operations
15
+ # TODO: Implement query params for /operations
16
+ []
17
+ end
18
18
 
19
- def privileged_organizations
20
- privileged_roles.map(&:organization)
21
- end
19
+ def privileged_organizations
20
+ privileged_roles.map(&:organization)
21
+ end
22
22
 
23
- def privileged_roles
24
- @privileged_roles ||= roles.select(&:privileged?)
23
+ def privileged_roles
24
+ @privileged_roles ||= roles.select(&:privileged?)
25
+ end
25
26
  end
26
27
  end
27
28
  end
@@ -0,0 +1,5 @@
1
+ module Aptible
2
+ module Auth
3
+ VERSION = '0.5.0'
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe Aptible::Auth::Agent do
4
+ it { should be_a Aptible::Auth::Resource }
5
+ end
@@ -1,52 +1,15 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Aptible::Auth::Resource do
4
- describe '.collection_url' do
5
- it 'should use the pluralized resource name' do
6
- url = Aptible::Auth::Role.collection_url
7
- expect(url).to eq 'https://auth.aptible.com/roles'
8
- end
9
- end
10
-
11
- describe '.find' do
12
- it 'should call find_by_url' do
13
- url = 'https://auth.aptible.com/roles/42'
14
- expect(Aptible::Auth::Role).to receive(:find_by_url).with url, {}
15
- Aptible::Auth::Role.find(42)
16
- end
17
- end
18
-
19
- describe '.all' do
20
- let(:session) { double Aptible::Auth::Session }
21
- let(:collection) { double Aptible::Auth }
22
-
23
- before do
24
- collection.stub(:sessions) { [session] }
25
- Aptible::Auth::Session.any_instance.stub(:find_by_url) { collection }
26
- end
27
-
28
- it 'should be an array' do
29
- expect(Aptible::Auth::Session.all).to be_a Array
30
- end
31
-
32
- it 'should return the root collection' do
33
- expect(Aptible::Auth::Session.all).to eq [session]
34
- end
35
-
36
- it 'should pass options to the HyperResource initializer' do
37
- klass = Aptible::Auth::Session
38
- options = { token: 'token' }
39
- expect(klass).to receive(:new).with(options).and_return klass.new
40
- Aptible::Auth::Session.all(options)
41
- end
42
- end
43
-
44
- describe '.create' do
45
- it 'should create a new top-level resource' do
46
- sessions = double Aptible::Auth
47
- Aptible::Auth.stub_chain(:new, :sessions) { sessions }
48
- expect(sessions).to receive(:create).with(foo: 'bar')
49
- Aptible::Auth::Session.create(foo: 'bar')
4
+ its(:namespace) { should eq 'Aptible::Auth' }
5
+ its(:root_url) { should eq 'https://auth.aptible.com' }
6
+
7
+ describe '#bearer_token' do
8
+ it 'should accept an Aptible::Auth::Token' do
9
+ token = Aptible::Auth::Token.new
10
+ token.stub(:access_token) { 'aptible_auth_token' }
11
+ subject.stub(:token) { token }
12
+ expect(subject.bearer_token).to eq token.access_token
50
13
  end
51
14
  end
52
15
  end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Aptible::Auth do
4
+ subject { Aptible::Auth::User.new }
5
+
4
6
  it 'should have a configurable root_url' do
5
7
  config = described_class.configuration
6
8
  expect(config).to be_a GemConfig::Configuration
@@ -16,36 +18,7 @@ describe Aptible::Auth do
16
18
  end
17
19
 
18
20
  it 'should expose the server public key' do
19
- get = double 'get'
20
- Aptible::Auth.any_instance.stub(:get) { get }
21
- expect(get).to receive :public_key
22
- described_class.public_key
23
- end
24
-
25
- describe '#initialize' do
26
- it 'should be a HyperResource instance' do
27
- expect(subject).to be_a HyperResource
28
- end
29
- end
30
-
31
- describe '#bearer_token' do
32
- it 'should accept an Aptible::Auth::Token' do
33
- token = Aptible::Auth::Token.new
34
- token.stub(:access_token) { 'abtible_auth_token' }
35
- subject.stub(:token) { token }
36
- expect(subject.bearer_token).to eq token.access_token
37
- end
38
-
39
- it 'should accept an Fridge::AccessToken' do
40
- token = Fridge::AccessToken.new
41
- token.stub(:to_s) { 'fridge_access_token' }
42
- subject.stub(:token) { token }
43
- expect(subject.bearer_token).to eq token.to_s
44
- end
45
-
46
- it 'should accept a String' do
47
- subject.stub(:token) { 'token' }
48
- expect(subject.bearer_token).to eq 'token'
49
- end
21
+ Aptible::Auth::Agent.any_instance.should_receive :public_key
22
+ Aptible::Auth.public_key
50
23
  end
51
24
  end
metadata CHANGED
@@ -1,59 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aptible-auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank Macreery
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-17 00:00:00.000000000 Z
11
+ date: 2014-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: gem_config
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: oauth2-aptible
14
+ name: aptible-resource
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - '>='
32
18
  - !ruby/object:Gem::Version
33
- version: '0'
19
+ version: 0.1.1
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - '>='
39
25
  - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: 0.1.1
41
27
  - !ruby/object:Gem::Dependency
42
- name: hyperresource-aptible
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: 0.9.0
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: 0.9.0
55
- - !ruby/object:Gem::Dependency
56
- name: fridge
28
+ name: gem_config
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
31
  - - '>='
@@ -67,7 +39,7 @@ dependencies:
67
39
  - !ruby/object:Gem::Version
68
40
  version: '0'
69
41
  - !ruby/object:Gem::Dependency
70
- name: activesupport
42
+ name: oauth2-aptible
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
45
  - - '>='
@@ -167,7 +139,7 @@ files:
167
139
  - Rakefile
168
140
  - aptible-auth.gemspec
169
141
  - lib/aptible/auth.rb
170
- - lib/aptible/auth/adapter.rb
142
+ - lib/aptible/auth/agent.rb
171
143
  - lib/aptible/auth/client.rb
172
144
  - lib/aptible/auth/membership.rb
173
145
  - lib/aptible/auth/organization.rb
@@ -176,6 +148,8 @@ files:
176
148
  - lib/aptible/auth/session.rb
177
149
  - lib/aptible/auth/token.rb
178
150
  - lib/aptible/auth/user.rb
151
+ - lib/aptible/auth/version.rb
152
+ - spec/aptible/auth/agent_spec.rb
179
153
  - spec/aptible/auth/organization_spec.rb
180
154
  - spec/aptible/auth/resource_spec.rb
181
155
  - spec/aptible/auth/token_spec.rb
@@ -207,6 +181,7 @@ signing_key:
207
181
  specification_version: 4
208
182
  summary: Ruby client for auth.aptible.com
209
183
  test_files:
184
+ - spec/aptible/auth/agent_spec.rb
210
185
  - spec/aptible/auth/organization_spec.rb
211
186
  - spec/aptible/auth/resource_spec.rb
212
187
  - spec/aptible/auth/token_spec.rb
@@ -1,22 +0,0 @@
1
- # rubocop:disable ClassAndModuleChildren
2
- module Aptible
3
- class Auth::Adapter < HyperResource::Adapter::HAL_JSON
4
- class << self
5
- # rubocop:disable MethodLength
6
- def get_data_type_from_object(object)
7
- return nil unless object
8
-
9
- if (type = object['type'])
10
- if type.respond_to?(:camelize)
11
- type.camelize
12
- else
13
- type[0].upcase + type[1..-1]
14
- end
15
- else
16
- 'Resource'
17
- end
18
- end
19
- # rubocop:enable MethodLength
20
- end
21
- end
22
- end