omniauth-identity 1.1.1 → 2.0.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
- SHA1:
3
- metadata.gz: f63f80480a42c6089f050cae1a70ebe9195f925d
4
- data.tar.gz: 3b229b38d48396559ac41f65712c931bc4f76590
2
+ SHA256:
3
+ metadata.gz: 3ae0c6e9acba482e20f1284d42f157beb243b7efe00913b420e1d97ee158d0d2
4
+ data.tar.gz: c113d2a6e9f701ae8b7a524e7aede16bfce000f593f194e577b38a2cb02a10c0
5
5
  SHA512:
6
- metadata.gz: 91cbf121086311eb85cf68345b58eeac85e165ce3119a58bc148ddf470e77050664efc986e40eb2099b7b1f306b7119457445535fa1d1512bae9c975e54fbae2
7
- data.tar.gz: 729a821aa7e9cf31e847fe1f98e87ac04e2ffb031c45405e3421617edd3ac841412840670bbdb333c806fa9330adde986bbc28bf7ecd60a4aa5e45673d2907b9
6
+ metadata.gz: 4f8cbd06676c3b16661651bf161e4bf819e8b48529aec572d2a7ddb52e5a4dde87bf52e71933be86af22486f03b4a4d5710417db79803b1bba93357258122330
7
+ data.tar.gz: 36a5d520208b6d0754d5d3e7fb7990b27b9bd967b598039bf6d37bf0e8167e2e8c7689df79a8aeee9a6d9187b2a1d2653d02e99025444157183d0072323807ae
data/.gitignore CHANGED
@@ -1,4 +1,6 @@
1
1
  /coverage
2
2
  /pkg
3
3
  /doc
4
-
4
+ Gemfile.lock
5
+ /.ruby-version
6
+ /.ruby-gemset
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
- --format=nested
1
+ --require spec_helper
2
+ --format=documentation
2
3
  --colour
@@ -0,0 +1,27 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+
6
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
7
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
+
9
+ ## [2.0] - 2020-09-01
10
+
11
+ ### Added
12
+ - CHANGELOG to maintain a history of changes.
13
+ - Include mongoid-rspec gem.
14
+
15
+ ### Changed
16
+ - Fix failing Specs
17
+ - Update Spec syntax to RSpec 3
18
+ - Fix deprecation Warnings
19
+ - Updated mongoid_spec.rb to leverage mongoid-rspec features.
20
+ - Fix security warning about missing secret in session cookie.
21
+ - Dependency version limits so that the most up-to-date gem dependencies are used. (rspec 3+, mongo 2+, mongoid 7+, rake 13+, rack 2+, json 2+)
22
+ - Updated copyright information.
23
+ - Updated MongoMapper section of README to reflect its discontinued support.
24
+
25
+ ### Removed
26
+ - Gemfile.lock file
27
+ - MongoMapper support; unable to satisfy dependencies of both MongoMapper and Mongoig now that MongoMapper is no longer actively maintained.
data/Gemfile CHANGED
@@ -1,8 +1,10 @@
1
1
  source "http://rubygems.org"
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
2
3
 
3
4
  gemspec
4
5
 
5
6
  group :development, :test do
7
+ gem 'mongoid-rspec', github: 'mongoid/mongoid-rspec'
6
8
  gem 'guard'
7
9
  gem 'guard-rspec'
8
10
  gem 'guard-bundler'
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2020- Andrew Roberts, and Jellybooks Ltd.
2
+ Copyright (c) 2010-2015 Michael Bleigh and Intridea, Inc.
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -60,19 +60,12 @@ end
60
60
 
61
61
  ### MongoMapper
62
62
 
63
- Include the `OmniAuth::Identity::Models::MongoMapper` mixin and specify
64
- fields that you will need.
63
+ Unfortunately MongoMapper is **not supported** in `omniauth-identity` from >= v2.0 as a result of it
64
+ not being maintained for several years.
65
65
 
66
- ```ruby
67
- class Identity
68
- include MongoMapper::Document
69
- include OmniAuth::Identity::Models::MongoMapper
70
-
71
- key :email, String
72
- key :name, String
73
- key :password_digest, String
74
- end
75
- ```
66
+ It wasn't possible to include Mongoid *and* MongoMapper due to incompatible gem version
67
+ requirements. Therefore precedence was given to Mongoid as it is significantly more
68
+ popular and actively maintained.
76
69
 
77
70
  ### DataMapper
78
71
 
@@ -200,3 +193,12 @@ object as a parameter. Note that model.auth_key defaults to 'email', but is al
200
193
  Note: Be careful when customizing locate_conditions. The best way to modify the conditions is
201
194
  to copy the default value, and then add to the hash. Removing the default condition will almost
202
195
  always break things!
196
+
197
+ ## License
198
+
199
+ MIT License. See LICENSE for details.
200
+
201
+ ## Copyright
202
+
203
+ Copyright (c) 2020- Andrew Roberts, and Jellybooks Ltd.
204
+ Copyright (c) 2010-2015 Michael Bleigh, and Intridea, Inc.
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Identity
3
- VERSION = '1.1.1'
3
+ VERSION = '2.0.0'
4
4
  end
5
5
  end
@@ -10,7 +10,6 @@ module OmniAuth
10
10
  autoload :SecurePassword, 'omniauth/identity/secure_password'
11
11
  module Models
12
12
  autoload :ActiveRecord, 'omniauth/identity/models/active_record'
13
- autoload :MongoMapper, 'omniauth/identity/models/mongo_mapper'
14
13
  autoload :Mongoid, 'omniauth/identity/models/mongoid'
15
14
  autoload :DataMapper, 'omniauth/identity/models/data_mapper'
16
15
  autoload :CouchPotatoModule, 'omniauth/identity/models/couch_potato'
@@ -75,7 +75,7 @@ module OmniAuth
75
75
  #
76
76
  # @return [String] An identifier string unique to this identity.
77
77
  def uid
78
- if respond_to?('id')
78
+ if respond_to?(:id)
79
79
  return nil if self.id.nil?
80
80
  self.id.to_s
81
81
  else
@@ -90,7 +90,7 @@ module OmniAuth
90
90
  # @return [String] An identifying string that will be entered by
91
91
  # users upon sign in.
92
92
  def auth_key
93
- if respond_to?(self.class.auth_key)
93
+ if respond_to?(self.class.auth_key.to_sym)
94
94
  send(self.class.auth_key)
95
95
  else
96
96
  raise NotImplementedError
@@ -104,8 +104,9 @@ module OmniAuth
104
104
  # @param [String] value The value to which the auth key should be
105
105
  # set.
106
106
  def auth_key=(value)
107
- if respond_to?(self.class.auth_key + '=')
108
- send(self.class.auth_key + '=', value)
107
+ auth_key_setter = (self.class.auth_key + '=').to_sym
108
+ if respond_to?(auth_key_setter)
109
+ send(auth_key_setter, value)
109
110
  else
110
111
  raise NotImplementedError
111
112
  end
@@ -2,28 +2,28 @@
2
2
  require File.dirname(__FILE__) + '/lib/omniauth-identity/version'
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.add_runtime_dependency 'omniauth', '~> 1.0'
6
- gem.add_runtime_dependency 'bcrypt-ruby', '~> 3.0'
5
+ gem.add_runtime_dependency 'omniauth'
6
+ gem.add_runtime_dependency 'bcrypt'
7
7
 
8
- gem.add_development_dependency 'maruku', '~> 0.6'
9
- gem.add_development_dependency 'simplecov', '~> 0.4'
10
- gem.add_development_dependency 'rack-test', '~> 0.5'
11
- gem.add_development_dependency 'rake', '~> 0.8'
12
- gem.add_development_dependency 'rspec', '~> 2.7'
13
- gem.add_development_dependency 'activerecord', '~> 3.1'
8
+ gem.add_development_dependency 'maruku'
9
+ gem.add_development_dependency 'simplecov'
10
+ gem.add_development_dependency 'rack-test'
11
+ gem.add_development_dependency 'rake'
12
+ gem.add_development_dependency 'rspec', '~> 3'
13
+ gem.add_development_dependency 'activerecord'
14
14
  gem.add_development_dependency 'mongoid'
15
- gem.add_development_dependency 'mongo_mapper'
16
15
  gem.add_development_dependency 'datamapper'
17
16
  gem.add_development_dependency 'bson_ext'
17
+ gem.add_development_dependency 'byebug'
18
18
  gem.add_development_dependency 'couch_potato'
19
19
 
20
20
  gem.name = 'omniauth-identity'
21
21
  gem.version = OmniAuth::Identity::VERSION
22
22
  gem.description = %q{Internal authentication handlers for OmniAuth.}
23
23
  gem.summary = gem.description
24
- gem.email = ['michael@intridea.com']
25
- gem.homepage = 'http://github.com/intridea/omniauth-identity'
26
- gem.authors = ['Michael Bleigh']
24
+ gem.homepage = 'http://github.com/omniauth/omniauth-identity'
25
+ gem.authors = ['Andrew Roberts', 'Michael Bleigh']
26
+ gem.license = 'MIT'
27
27
  gem.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
28
28
  gem.files = `git ls-files`.split("\n")
29
29
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  class ExampleModel
4
2
  include OmniAuth::Identity::Model
5
3
  end
@@ -9,25 +7,25 @@ describe OmniAuth::Identity::Model do
9
7
  subject{ ExampleModel }
10
8
 
11
9
  describe '.locate' do
12
- it('should be abstract'){ lambda{ subject.locate('abc') }.should raise_error(NotImplementedError) }
10
+ it('should be abstract'){ expect{ subject.locate('abc') }.to raise_error(NotImplementedError) }
13
11
  end
14
12
 
15
13
  describe '.authenticate' do
16
14
  it 'should call locate and then authenticate' do
17
- mocked_instance = mock('ExampleModel', :authenticate => 'abbadoo')
18
- subject.should_receive(:locate).with('email' => 'example').and_return(mocked_instance)
19
- subject.authenticate({'email' => 'example'},'pass').should == 'abbadoo'
15
+ mocked_instance = double('ExampleModel', :authenticate => 'abbadoo')
16
+ allow(subject).to receive(:locate).with('email' => 'example').and_return(mocked_instance)
17
+ expect(subject.authenticate({'email' => 'example'},'pass')).to eq('abbadoo')
20
18
  end
21
19
 
22
20
  it 'should call locate with additional scopes when provided' do
23
- mocked_instance = mock('ExampleModel', :authenticate => 'abbadoo')
24
- subject.should_receive(:locate).with('email' => 'example', 'user_type' => 'admin').and_return(mocked_instance)
25
- subject.authenticate({'email' => 'example', 'user_type' => 'admin'}, 'pass').should == 'abbadoo'
21
+ mocked_instance = double('ExampleModel', :authenticate => 'abbadoo')
22
+ allow(subject).to receive(:locate).with('email' => 'example', 'user_type' => 'admin').and_return(mocked_instance)
23
+ expect(subject.authenticate({'email' => 'example', 'user_type' => 'admin'}, 'pass')).to eq('abbadoo')
26
24
  end
27
25
 
28
26
  it 'should recover gracefully if locate is nil' do
29
- subject.stub!(:locate).and_return(nil)
30
- subject.authenticate('blah','foo').should be_false
27
+ allow(subject).to receive(:locate).and_return(nil)
28
+ expect(subject.authenticate('blah','foo')).to be false
31
29
  end
32
30
  end
33
31
  end
@@ -36,87 +34,87 @@ describe OmniAuth::Identity::Model do
36
34
  subject{ ExampleModel.new }
37
35
 
38
36
  describe '#authenticate' do
39
- it('should be abstract'){ lambda{ subject.authenticate('abc') }.should raise_error(NotImplementedError) }
37
+ it('should be abstract'){ expect{ subject.authenticate('abc') }.to raise_error(NotImplementedError) }
40
38
  end
41
39
 
42
40
  describe '#uid' do
43
41
  it 'should default to #id' do
44
- subject.should_receive(:respond_to?).with('id').and_return(true)
45
- subject.stub!(:id).and_return 'wakka-do'
46
- subject.uid.should == 'wakka-do'
42
+ allow(subject).to receive(:respond_to?).with(:id).and_return(true)
43
+ allow(subject).to receive(:id).and_return 'wakka-do'
44
+ expect(subject.uid).to eq('wakka-do')
47
45
  end
48
46
 
49
47
  it 'should stringify it' do
50
- subject.stub!(:id).and_return 123
51
- subject.uid.should == '123'
48
+ allow(subject).to receive(:id).and_return 123
49
+ expect(subject.uid).to eq('123')
52
50
  end
53
51
 
54
52
  it 'should raise NotImplementedError if #id is not defined' do
55
- subject.should_receive(:respond_to?).with('id').and_return(false)
56
- lambda{ subject.uid }.should raise_error(NotImplementedError)
53
+ allow(subject).to receive(:respond_to?).with(:id).and_return(false)
54
+ expect{ subject.uid }.to raise_error(NotImplementedError)
57
55
  end
58
56
  end
59
57
 
60
58
  describe '#auth_key' do
61
59
  it 'should default to #email' do
62
- subject.should_receive(:respond_to?).with('email').and_return(true)
63
- subject.stub!(:email).and_return('bob@bob.com')
64
- subject.auth_key.should == 'bob@bob.com'
60
+ allow(subject).to receive(:respond_to?).with(:email).and_return(true)
61
+ allow(subject).to receive(:email).and_return('bob@bob.com')
62
+ expect(subject.auth_key).to eq('bob@bob.com')
65
63
  end
66
64
 
67
65
  it 'should use the class .auth_key' do
68
66
  subject.class.auth_key 'login'
69
- subject.stub!(:login).and_return 'bob'
70
- subject.auth_key.should == 'bob'
67
+ allow(subject).to receive(:login).and_return 'bob'
68
+ expect(subject.auth_key).to eq('bob')
71
69
  subject.class.auth_key nil
72
70
  end
73
71
 
74
72
  it 'should raise a NotImplementedError if the auth_key method is not defined' do
75
- lambda{ subject.auth_key }.should raise_error(NotImplementedError)
73
+ expect{ subject.auth_key }.to raise_error(NotImplementedError)
76
74
  end
77
75
  end
78
76
 
79
77
  describe '#auth_key=' do
80
78
  it 'should default to setting email' do
81
- subject.should_receive(:respond_to?).with('email=').and_return(true)
82
- subject.should_receive(:email=).with 'abc'
79
+ allow(subject).to receive(:respond_to?).with(:email=).and_return(true)
80
+ expect(subject).to receive(:email=).with 'abc'
83
81
 
84
82
  subject.auth_key = 'abc'
85
83
  end
86
84
 
87
85
  it 'should use a custom .auth_key if one is provided' do
88
86
  subject.class.auth_key 'login'
89
- subject.should_receive(:respond_to?).with('login=').and_return(true)
90
- subject.should_receive('login=').with('abc')
87
+ allow(subject).to receive(:respond_to?).with(:login=).and_return(true)
88
+ expect(subject).to receive(:login=).with('abc')
91
89
 
92
90
  subject.auth_key = 'abc'
93
91
  end
94
92
 
95
93
  it 'should raise a NotImplementedError if the autH_key method is not defined' do
96
- lambda{ subject.auth_key = 'broken' }.should raise_error(NotImplementedError)
94
+ expect{ subject.auth_key = 'broken' }.to raise_error(NotImplementedError)
97
95
  end
98
96
  end
99
97
 
100
98
  describe '#info' do
101
99
  it 'should include attributes that are set' do
102
- subject.stub!(:name).and_return('Bob Bobson')
103
- subject.stub!(:nickname).and_return('bob')
100
+ allow(subject).to receive(:name).and_return('Bob Bobson')
101
+ allow(subject).to receive(:nickname).and_return('bob')
104
102
 
105
- subject.info.should == {
103
+ expect(subject.info).to eq({
106
104
  'name' => 'Bob Bobson',
107
105
  'nickname' => 'bob'
108
- }
106
+ })
109
107
  end
110
108
 
111
109
  it 'should automatically set name off of nickname' do
112
- subject.stub!(:nickname).and_return('bob')
110
+ allow(subject).to receive(:nickname).and_return('bob')
113
111
  subject.info['name'] == 'bob'
114
112
  end
115
113
 
116
114
  it 'should not overwrite a provided name' do
117
- subject.stub!(:name).and_return('Awesome Dude')
118
- subject.stub!(:first_name).and_return('Frank')
119
- subject.info['name'].should == 'Awesome Dude'
115
+ allow(subject).to receive(:name).and_return('Awesome Dude')
116
+ allow(subject).to receive(:first_name).and_return('Frank')
117
+ expect(subject.info['name']).to eq('Awesome Dude')
120
118
  end
121
119
  end
122
120
  end
@@ -1,14 +1,16 @@
1
- require 'spec_helper'
2
-
3
1
  describe(OmniAuth::Identity::Models::ActiveRecord, :db => true) do
4
2
  class TestIdentity < OmniAuth::Identity::Models::ActiveRecord; end
5
3
 
6
- it 'should delegate locate to the where query method' do
7
- TestIdentity.should_receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
8
- TestIdentity.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches').should == 'wakka'
9
- end
4
+ describe "model", type: :model do
5
+ subject { TestIdentity }
6
+
7
+ it 'should delegate locate to the where query method' do
8
+ allow(subject).to receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
9
+ expect(subject.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches')).to eq('wakka')
10
+ end
10
11
 
11
- it 'should not use STI rules for its table name' do
12
- TestIdentity.table_name.should == 'test_identities'
12
+ it 'should not use STI rules for its table name' do
13
+ expect(subject.table_name).to eq('test_identities')
14
+ end
13
15
  end
14
16
  end
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe(OmniAuth::Identity::Models::CouchPotatoModule, :db => true) do
4
2
  class CouchPotatoTestIdentity
5
3
  include CouchPotato::Persistence
@@ -7,9 +5,12 @@ describe(OmniAuth::Identity::Models::CouchPotatoModule, :db => true) do
7
5
  auth_key :ham_sandwich
8
6
  end
9
7
 
10
- it 'should delegate locate to the where query method' do
11
- CouchPotatoTestIdentity.should_receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
12
- CouchPotatoTestIdentity.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches').should == 'wakka'
13
- end
8
+ describe 'model', type: :model do
9
+ subject { CouchPotatoTestIdentity }
14
10
 
11
+ it 'should delegate locate to the where query method' do
12
+ allow(subject).to receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
13
+ expect(subject.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches')).to eq('wakka')
14
+ end
15
+ end
15
16
  end
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe(OmniAuth::Identity::Models::DataMapper, :db => true) do
4
2
  class DataMapperTestIdentity
5
3
  include DataMapper::Resource
@@ -9,14 +7,18 @@ describe(OmniAuth::Identity::Models::DataMapper, :db => true) do
9
7
  auth_key :ham_sandwich
10
8
  end
11
9
 
12
- DataMapper.finalize
13
10
 
14
11
  before :all do
12
+ DataMapper.finalize
15
13
  @resource = DataMapperTestIdentity.new
16
14
  end
17
15
 
18
- it 'should delegate locate to the all query method' do
19
- DataMapperTestIdentity.should_receive(:all).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
20
- DataMapperTestIdentity.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches').should == 'wakka'
16
+ describe 'model', type: :model do
17
+ subject { DataMapperTestIdentity }
18
+
19
+ it 'should delegate locate to the all query method' do
20
+ allow(subject).to receive(:all).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
21
+ expect(subject.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches')).to eq('wakka')
22
+ end
21
23
  end
22
24
  end
@@ -1,18 +1,23 @@
1
- require 'spec_helper'
2
-
3
1
  describe(OmniAuth::Identity::Models::Mongoid, :db => true) do
4
2
  class MongoidTestIdentity
5
3
  include Mongoid::Document
6
4
  include OmniAuth::Identity::Models::Mongoid
7
5
  auth_key :ham_sandwich
6
+ store_in database: 'db1', collection: 'mongoid_test_identities', client: 'secondary'
8
7
  end
9
8
 
10
- it 'should delegate locate to the where query method' do
11
- MongoidTestIdentity.should_receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
12
- MongoidTestIdentity.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches').should == 'wakka'
13
- end
9
+ describe "model", type: :model do
10
+ subject { MongoidTestIdentity }
11
+
12
+ it { is_expected.to be_mongoid_document }
13
+
14
+ it 'does not munge collection name' do
15
+ is_expected.to be_stored_in(database: 'db1', collection: 'mongoid_test_identities', client: 'secondary')
16
+ end
14
17
 
15
- it 'should not use STI rules for its collection name' do
16
- MongoidTestIdentity.collection.name.should == 'mongoid_test_identities'
18
+ it 'should delegate locate to the where query method' do
19
+ allow(subject).to receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
20
+ expect(subject.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches')).to eq('wakka')
21
+ end
17
22
  end
18
23
  end
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  class HasTheMethod
4
2
  def self.has_secure_password; end
5
3
  end
@@ -9,19 +7,19 @@ end
9
7
 
10
8
  describe OmniAuth::Identity::SecurePassword do
11
9
  it 'should extend with the class methods if it does not have the method' do
12
- DoesNotHaveTheMethod.should_receive(:extend).with(OmniAuth::Identity::SecurePassword::ClassMethods)
10
+ expect(DoesNotHaveTheMethod).to receive(:extend).with(OmniAuth::Identity::SecurePassword::ClassMethods)
13
11
  DoesNotHaveTheMethod.send(:include, OmniAuth::Identity::SecurePassword)
14
12
  end
15
13
 
16
14
  it 'should not extend if the method is already defined' do
17
- HasTheMethod.should_not_receive(:extend)
15
+ expect(HasTheMethod).not_to receive(:extend)
18
16
  HasTheMethod.send(:include, OmniAuth::Identity::SecurePassword)
19
17
  end
20
18
 
21
19
  it 'should respond to has_secure_password afterwards' do
22
20
  [HasTheMethod,DoesNotHaveTheMethod].each do |klass|
23
21
  klass.send(:include, OmniAuth::Identity::SecurePassword)
24
- klass.should be_respond_to(:has_secure_password)
22
+ expect(klass).to be_respond_to(:has_secure_password)
25
23
  end
26
24
  end
27
25
  end
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  class MockIdentity; end
4
2
 
5
3
  describe OmniAuth::Strategies::Identity do
@@ -14,7 +12,7 @@ describe OmniAuth::Strategies::Identity do
14
12
  identity_options = {:model => MockIdentity}.merge(identity_options)
15
13
  old_app = self.app
16
14
  self.app = Rack::Builder.app do
17
- use Rack::Session::Cookie
15
+ use Rack::Session::Cookie, secret: '1234567890qwertyuiop'
18
16
  use OmniAuth::Strategies::Identity, identity_options
19
17
  run lambda{|env| [404, {'env' => env}, ["HELLO!"]]}
20
18
  end
@@ -32,52 +30,52 @@ describe OmniAuth::Strategies::Identity do
32
30
  describe '#request_phase' do
33
31
  it 'should display a form' do
34
32
  get '/auth/identity'
35
- last_response.body.should be_include("<form")
33
+ expect(last_response.body).to be_include("<form")
36
34
  end
37
35
  end
38
36
 
39
37
  describe '#callback_phase' do
40
- let(:user){ mock(:uid => 'user1', :info => {'name' => 'Rockefeller'})}
38
+ let(:user){ double(:uid => 'user1', :info => {'name' => 'Rockefeller'})}
41
39
 
42
40
  context 'with valid credentials' do
43
41
  before do
44
- MockIdentity.stub('auth_key').and_return('email')
45
- MockIdentity.should_receive('authenticate').with({'email' => 'john'},'awesome').and_return(user)
42
+ allow(MockIdentity).to receive('auth_key').and_return('email')
43
+ expect(MockIdentity).to receive('authenticate').with({'email' => 'john'},'awesome').and_return(user)
46
44
  post '/auth/identity/callback', :auth_key => 'john', :password => 'awesome'
47
45
  end
48
46
 
49
47
  it 'should populate the auth hash' do
50
- auth_hash.should be_kind_of(Hash)
48
+ expect(auth_hash).to be_kind_of(Hash)
51
49
  end
52
50
 
53
51
  it 'should populate the uid' do
54
- auth_hash['uid'].should == 'user1'
52
+ expect(auth_hash['uid']).to eq('user1')
55
53
  end
56
54
 
57
55
  it 'should populate the info hash' do
58
- auth_hash['info'].should == {'name' => 'Rockefeller'}
56
+ expect(auth_hash['info']).to eq({'name' => 'Rockefeller'})
59
57
  end
60
58
  end
61
59
 
62
60
  context 'with invalid credentials' do
63
61
  before do
64
- MockIdentity.stub('auth_key').and_return('email')
62
+ allow(MockIdentity).to receive('auth_key').and_return('email')
65
63
  OmniAuth.config.on_failure = lambda{|env| [401, {}, [env['omniauth.error.type'].inspect]]}
66
- MockIdentity.should_receive(:authenticate).with({'email' => 'wrong'},'login').and_return(false)
64
+ expect(MockIdentity).to receive(:authenticate).with({'email' => 'wrong'},'login').and_return(false)
67
65
  post '/auth/identity/callback', :auth_key => 'wrong', :password => 'login'
68
66
  end
69
67
 
70
68
  it 'should fail with :invalid_credentials' do
71
- last_response.body.should == ':invalid_credentials'
69
+ expect(last_response.body).to eq(':invalid_credentials')
72
70
  end
73
71
  end
74
72
 
75
73
  context 'with auth scopes' do
76
74
 
77
75
  it 'should evaluate and pass through conditions proc' do
78
- MockIdentity.stub('auth_key').and_return('email')
76
+ allow(MockIdentity).to receive('auth_key').and_return('email')
79
77
  set_app!( :locate_conditions => lambda{|req| {model.auth_key => req['auth_key'], 'user_type' => 'admin'} } )
80
- MockIdentity.should_receive('authenticate').with( {'email' => 'john', 'user_type' => 'admin'}, 'awesome' ).and_return(user)
78
+ expect(MockIdentity).to receive('authenticate').with( {'email' => 'john', 'user_type' => 'admin'}, 'awesome' ).and_return(user)
81
79
  post '/auth/identity/callback', :auth_key => 'john', :password => 'awesome'
82
80
  end
83
81
  end
@@ -86,7 +84,7 @@ describe OmniAuth::Strategies::Identity do
86
84
  describe '#registration_form' do
87
85
  it 'should trigger from /auth/identity/register by default' do
88
86
  get '/auth/identity/register'
89
- last_response.body.should be_include("Register Identity")
87
+ expect(last_response.body).to be_include("Register Identity")
90
88
  end
91
89
  end
92
90
 
@@ -100,14 +98,14 @@ describe OmniAuth::Strategies::Identity do
100
98
  } }
101
99
 
102
100
  before do
103
- MockIdentity.stub('auth_key').and_return('email')
104
- m = mock(:uid => 'abc', :name => 'Awesome Dude', :email => 'awesome@example.com', :info => {:name => 'DUUUUDE!'}, :persisted? => true)
105
- MockIdentity.should_receive(:create).with(properties).and_return(m)
101
+ allow(MockIdentity).to receive('auth_key').and_return('email')
102
+ m = double(:uid => 'abc', :name => 'Awesome Dude', :email => 'awesome@example.com', :info => {:name => 'DUUUUDE!'}, :persisted? => true)
103
+ expect(MockIdentity).to receive(:create).with(properties).and_return(m)
106
104
  end
107
105
 
108
106
  it 'should set the auth hash' do
109
107
  post '/auth/identity/register', properties
110
- auth_hash['uid'].should == 'abc'
108
+ expect(auth_hash['uid']).to eq('abc')
111
109
  end
112
110
  end
113
111
 
@@ -120,13 +118,13 @@ describe OmniAuth::Strategies::Identity do
120
118
  } }
121
119
 
122
120
  before do
123
- MockIdentity.should_receive(:create).with(properties).and_return(mock(:persisted? => false))
121
+ expect(MockIdentity).to receive(:create).with(properties).and_return(double(:persisted? => false))
124
122
  end
125
123
 
126
124
  context 'default' do
127
125
  it 'should show registration form' do
128
126
  post '/auth/identity/register', properties
129
- last_response.body.should be_include("Register Identity")
127
+ expect(last_response.body).to be_include("Register Identity")
130
128
  end
131
129
  end
132
130
 
@@ -134,7 +132,7 @@ describe OmniAuth::Strategies::Identity do
134
132
  it 'should set the identity hash' do
135
133
  set_app!(:on_failed_registration => lambda{|env| [404, {'env' => env}, ["HELLO!"]]}) do
136
134
  post '/auth/identity/register', properties
137
- identity_hash.should_not be_nil
135
+ expect(identity_hash).not_to be_nil
138
136
  end
139
137
  end
140
138
  end
@@ -2,13 +2,19 @@ require 'rubygems'
2
2
  require 'bundler'
3
3
  Bundler.setup :default, :development, :test
4
4
 
5
+ # Third party gems to help with testing
5
6
  require 'simplecov'
6
7
  SimpleCov.start
7
8
 
8
9
  require 'rack/test'
10
+ require 'mongoid-rspec'
11
+ require 'byebug'
12
+
13
+ # This gem
9
14
  require 'omniauth/identity'
10
15
 
11
16
  RSpec.configure do |config|
12
17
  config.include Rack::Test::Methods
18
+ config.include Mongoid::Matchers, type: :model
13
19
  end
14
20
 
metadata CHANGED
@@ -1,209 +1,210 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-identity
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Andrew Roberts
7
8
  - Michael Bleigh
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-07-04 00:00:00.000000000 Z
12
+ date: 2020-09-01 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: omniauth
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - ~>
18
+ - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '1.0'
20
+ version: '0'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - ~>
25
+ - - ">="
25
26
  - !ruby/object:Gem::Version
26
- version: '1.0'
27
+ version: '0'
27
28
  - !ruby/object:Gem::Dependency
28
- name: bcrypt-ruby
29
+ name: bcrypt
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ~>
32
+ - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: '3.0'
34
+ version: '0'
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - ~>
39
+ - - ">="
39
40
  - !ruby/object:Gem::Version
40
- version: '3.0'
41
+ version: '0'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: maruku
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - ~>
46
+ - - ">="
46
47
  - !ruby/object:Gem::Version
47
- version: '0.6'
48
+ version: '0'
48
49
  type: :development
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - ~>
53
+ - - ">="
53
54
  - !ruby/object:Gem::Version
54
- version: '0.6'
55
+ version: '0'
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: simplecov
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - ~>
60
+ - - ">="
60
61
  - !ruby/object:Gem::Version
61
- version: '0.4'
62
+ version: '0'
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - ~>
67
+ - - ">="
67
68
  - !ruby/object:Gem::Version
68
- version: '0.4'
69
+ version: '0'
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: rack-test
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - ~>
74
+ - - ">="
74
75
  - !ruby/object:Gem::Version
75
- version: '0.5'
76
+ version: '0'
76
77
  type: :development
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - ~>
81
+ - - ">="
81
82
  - !ruby/object:Gem::Version
82
- version: '0.5'
83
+ version: '0'
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: rake
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - ~>
88
+ - - ">="
88
89
  - !ruby/object:Gem::Version
89
- version: '0.8'
90
+ version: '0'
90
91
  type: :development
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - ~>
95
+ - - ">="
95
96
  - !ruby/object:Gem::Version
96
- version: '0.8'
97
+ version: '0'
97
98
  - !ruby/object:Gem::Dependency
98
99
  name: rspec
99
100
  requirement: !ruby/object:Gem::Requirement
100
101
  requirements:
101
- - - ~>
102
+ - - "~>"
102
103
  - !ruby/object:Gem::Version
103
- version: '2.7'
104
+ version: '3'
104
105
  type: :development
105
106
  prerelease: false
106
107
  version_requirements: !ruby/object:Gem::Requirement
107
108
  requirements:
108
- - - ~>
109
+ - - "~>"
109
110
  - !ruby/object:Gem::Version
110
- version: '2.7'
111
+ version: '3'
111
112
  - !ruby/object:Gem::Dependency
112
113
  name: activerecord
113
114
  requirement: !ruby/object:Gem::Requirement
114
115
  requirements:
115
- - - ~>
116
+ - - ">="
116
117
  - !ruby/object:Gem::Version
117
- version: '3.1'
118
+ version: '0'
118
119
  type: :development
119
120
  prerelease: false
120
121
  version_requirements: !ruby/object:Gem::Requirement
121
122
  requirements:
122
- - - ~>
123
+ - - ">="
123
124
  - !ruby/object:Gem::Version
124
- version: '3.1'
125
+ version: '0'
125
126
  - !ruby/object:Gem::Dependency
126
127
  name: mongoid
127
128
  requirement: !ruby/object:Gem::Requirement
128
129
  requirements:
129
- - - '>='
130
+ - - ">="
130
131
  - !ruby/object:Gem::Version
131
132
  version: '0'
132
133
  type: :development
133
134
  prerelease: false
134
135
  version_requirements: !ruby/object:Gem::Requirement
135
136
  requirements:
136
- - - '>='
137
+ - - ">="
137
138
  - !ruby/object:Gem::Version
138
139
  version: '0'
139
140
  - !ruby/object:Gem::Dependency
140
- name: mongo_mapper
141
+ name: datamapper
141
142
  requirement: !ruby/object:Gem::Requirement
142
143
  requirements:
143
- - - '>='
144
+ - - ">="
144
145
  - !ruby/object:Gem::Version
145
146
  version: '0'
146
147
  type: :development
147
148
  prerelease: false
148
149
  version_requirements: !ruby/object:Gem::Requirement
149
150
  requirements:
150
- - - '>='
151
+ - - ">="
151
152
  - !ruby/object:Gem::Version
152
153
  version: '0'
153
154
  - !ruby/object:Gem::Dependency
154
- name: datamapper
155
+ name: bson_ext
155
156
  requirement: !ruby/object:Gem::Requirement
156
157
  requirements:
157
- - - '>='
158
+ - - ">="
158
159
  - !ruby/object:Gem::Version
159
160
  version: '0'
160
161
  type: :development
161
162
  prerelease: false
162
163
  version_requirements: !ruby/object:Gem::Requirement
163
164
  requirements:
164
- - - '>='
165
+ - - ">="
165
166
  - !ruby/object:Gem::Version
166
167
  version: '0'
167
168
  - !ruby/object:Gem::Dependency
168
- name: bson_ext
169
+ name: byebug
169
170
  requirement: !ruby/object:Gem::Requirement
170
171
  requirements:
171
- - - '>='
172
+ - - ">="
172
173
  - !ruby/object:Gem::Version
173
174
  version: '0'
174
175
  type: :development
175
176
  prerelease: false
176
177
  version_requirements: !ruby/object:Gem::Requirement
177
178
  requirements:
178
- - - '>='
179
+ - - ">="
179
180
  - !ruby/object:Gem::Version
180
181
  version: '0'
181
182
  - !ruby/object:Gem::Dependency
182
183
  name: couch_potato
183
184
  requirement: !ruby/object:Gem::Requirement
184
185
  requirements:
185
- - - '>='
186
+ - - ">="
186
187
  - !ruby/object:Gem::Version
187
188
  version: '0'
188
189
  type: :development
189
190
  prerelease: false
190
191
  version_requirements: !ruby/object:Gem::Requirement
191
192
  requirements:
192
- - - '>='
193
+ - - ">="
193
194
  - !ruby/object:Gem::Version
194
195
  version: '0'
195
196
  description: Internal authentication handlers for OmniAuth.
196
- email:
197
- - michael@intridea.com
197
+ email:
198
198
  executables: []
199
199
  extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
- - .gitignore
203
- - .rspec
202
+ - ".gitignore"
203
+ - ".rspec"
204
+ - CHANGELOG.md
204
205
  - Gemfile
205
- - Gemfile.lock
206
206
  - Guardfile
207
+ - LICENSE
207
208
  - README.markdown
208
209
  - Rakefile
209
210
  - lib/omniauth-identity.rb
@@ -213,7 +214,6 @@ files:
213
214
  - lib/omniauth/identity/models/active_record.rb
214
215
  - lib/omniauth/identity/models/couch_potato.rb
215
216
  - lib/omniauth/identity/models/data_mapper.rb
216
- - lib/omniauth/identity/models/mongo_mapper.rb
217
217
  - lib/omniauth/identity/models/mongoid.rb
218
218
  - lib/omniauth/identity/secure_password.rb
219
219
  - lib/omniauth/strategies/identity.rb
@@ -222,13 +222,13 @@ files:
222
222
  - spec/omniauth/identity/models/active_record_spec.rb
223
223
  - spec/omniauth/identity/models/couch_potato_spec.rb
224
224
  - spec/omniauth/identity/models/data_mapper_spec.rb
225
- - spec/omniauth/identity/models/mongo_mapper_spec.rb
226
225
  - spec/omniauth/identity/models/mongoid_spec.rb
227
226
  - spec/omniauth/identity/secure_password_spec.rb
228
227
  - spec/omniauth/strategies/identity_spec.rb
229
228
  - spec/spec_helper.rb
230
- homepage: http://github.com/intridea/omniauth-identity
231
- licenses: []
229
+ homepage: http://github.com/omniauth/omniauth-identity
230
+ licenses:
231
+ - MIT
232
232
  metadata: {}
233
233
  post_install_message:
234
234
  rdoc_options: []
@@ -236,19 +236,26 @@ require_paths:
236
236
  - lib
237
237
  required_ruby_version: !ruby/object:Gem::Requirement
238
238
  requirements:
239
- - - '>='
239
+ - - ">="
240
240
  - !ruby/object:Gem::Version
241
241
  version: '0'
242
242
  required_rubygems_version: !ruby/object:Gem::Requirement
243
243
  requirements:
244
- - - '>='
244
+ - - ">="
245
245
  - !ruby/object:Gem::Version
246
246
  version: 1.3.6
247
247
  requirements: []
248
248
  rubyforge_project:
249
- rubygems_version: 2.0.0
249
+ rubygems_version: 2.7.10
250
250
  signing_key:
251
251
  specification_version: 4
252
252
  summary: Internal authentication handlers for OmniAuth.
253
- test_files: []
254
- has_rdoc:
253
+ test_files:
254
+ - spec/omniauth/identity/model_spec.rb
255
+ - spec/omniauth/identity/models/active_record_spec.rb
256
+ - spec/omniauth/identity/models/couch_potato_spec.rb
257
+ - spec/omniauth/identity/models/data_mapper_spec.rb
258
+ - spec/omniauth/identity/models/mongoid_spec.rb
259
+ - spec/omniauth/identity/secure_password_spec.rb
260
+ - spec/omniauth/strategies/identity_spec.rb
261
+ - spec/spec_helper.rb
@@ -1,179 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- omniauth-identity (1.1.1)
5
- bcrypt-ruby (~> 3.0)
6
- omniauth (~> 1.0)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- activemodel (3.2.13)
12
- activesupport (= 3.2.13)
13
- builder (~> 3.0.0)
14
- activerecord (3.2.13)
15
- activemodel (= 3.2.13)
16
- activesupport (= 3.2.13)
17
- arel (~> 3.0.2)
18
- tzinfo (~> 0.3.29)
19
- activesupport (3.2.13)
20
- i18n (= 0.6.1)
21
- multi_json (~> 1.0)
22
- addressable (2.3.5)
23
- arel (3.0.2)
24
- bcrypt-ruby (3.0.1)
25
- bson (1.9.0)
26
- bson_ext (1.9.0)
27
- bson (~> 1.9.0)
28
- builder (3.0.4)
29
- coderay (1.0.9)
30
- couch_potato (1.0.1)
31
- activemodel
32
- couchrest (~> 1.2.0)
33
- json (~> 1.6)
34
- couchrest (1.2.0)
35
- mime-types (~> 1.15)
36
- multi_json (~> 1.0)
37
- rest-client (~> 1.6.1)
38
- datamapper (1.2.0)
39
- dm-aggregates (~> 1.2.0)
40
- dm-constraints (~> 1.2.0)
41
- dm-core (~> 1.2.0)
42
- dm-migrations (~> 1.2.0)
43
- dm-serializer (~> 1.2.0)
44
- dm-timestamps (~> 1.2.0)
45
- dm-transactions (~> 1.2.0)
46
- dm-types (~> 1.2.0)
47
- dm-validations (~> 1.2.0)
48
- diff-lcs (1.2.4)
49
- dm-aggregates (1.2.0)
50
- dm-core (~> 1.2.0)
51
- dm-constraints (1.2.0)
52
- dm-core (~> 1.2.0)
53
- dm-core (1.2.1)
54
- addressable (~> 2.3)
55
- dm-migrations (1.2.0)
56
- dm-core (~> 1.2.0)
57
- dm-serializer (1.2.2)
58
- dm-core (~> 1.2.0)
59
- fastercsv (~> 1.5)
60
- json (~> 1.6)
61
- json_pure (~> 1.6)
62
- multi_json (~> 1.0)
63
- dm-timestamps (1.2.0)
64
- dm-core (~> 1.2.0)
65
- dm-transactions (1.2.0)
66
- dm-core (~> 1.2.0)
67
- dm-types (1.2.2)
68
- bcrypt-ruby (~> 3.0)
69
- dm-core (~> 1.2.0)
70
- fastercsv (~> 1.5)
71
- json (~> 1.6)
72
- multi_json (~> 1.0)
73
- stringex (~> 1.4)
74
- uuidtools (~> 2.1)
75
- dm-validations (1.2.0)
76
- dm-core (~> 1.2.0)
77
- fastercsv (1.5.5)
78
- ffi (1.9.0)
79
- formatador (0.2.4)
80
- growl (1.0.3)
81
- guard (1.8.1)
82
- formatador (>= 0.2.4)
83
- listen (>= 1.0.0)
84
- lumberjack (>= 1.0.2)
85
- pry (>= 0.9.10)
86
- thor (>= 0.14.6)
87
- guard-bundler (1.0.0)
88
- bundler (~> 1.0)
89
- guard (~> 1.1)
90
- guard-rspec (3.0.2)
91
- guard (>= 1.8)
92
- rspec (~> 2.13)
93
- hashie (2.0.5)
94
- i18n (0.6.1)
95
- json (1.8.0)
96
- json_pure (1.8.0)
97
- listen (1.2.2)
98
- rb-fsevent (>= 0.9.3)
99
- rb-inotify (>= 0.9)
100
- rb-kqueue (>= 0.2)
101
- lumberjack (1.0.4)
102
- maruku (0.6.1)
103
- syntax (>= 1.0.0)
104
- method_source (0.8.1)
105
- mime-types (1.23)
106
- mongo (1.9.0)
107
- bson (~> 1.9.0)
108
- mongo_mapper (0.12.0)
109
- activemodel (~> 3.0)
110
- activesupport (~> 3.0)
111
- plucky (~> 0.5.2)
112
- mongoid (3.1.4)
113
- activemodel (~> 3.2)
114
- moped (~> 1.4)
115
- origin (~> 1.0)
116
- tzinfo (~> 0.3.22)
117
- moped (1.5.0)
118
- multi_json (1.7.7)
119
- omniauth (1.1.4)
120
- hashie (>= 1.2, < 3)
121
- rack
122
- origin (1.1.0)
123
- plucky (0.5.2)
124
- mongo (~> 1.5)
125
- pry (0.9.12.2)
126
- coderay (~> 1.0.5)
127
- method_source (~> 0.8)
128
- slop (~> 3.4)
129
- rack (1.5.2)
130
- rack-test (0.6.2)
131
- rack (>= 1.0)
132
- rake (0.9.6)
133
- rb-fsevent (0.9.3)
134
- rb-inotify (0.9.0)
135
- ffi (>= 0.5.0)
136
- rb-kqueue (0.2.0)
137
- ffi (>= 0.5.0)
138
- rest-client (1.6.7)
139
- mime-types (>= 1.16)
140
- rspec (2.13.0)
141
- rspec-core (~> 2.13.0)
142
- rspec-expectations (~> 2.13.0)
143
- rspec-mocks (~> 2.13.0)
144
- rspec-core (2.13.1)
145
- rspec-expectations (2.13.0)
146
- diff-lcs (>= 1.1.3, < 2.0)
147
- rspec-mocks (2.13.1)
148
- simplecov (0.7.1)
149
- multi_json (~> 1.0)
150
- simplecov-html (~> 0.7.1)
151
- simplecov-html (0.7.1)
152
- slop (3.4.5)
153
- stringex (1.5.1)
154
- syntax (1.0.0)
155
- thor (0.18.1)
156
- tzinfo (0.3.37)
157
- uuidtools (2.1.4)
158
-
159
- PLATFORMS
160
- ruby
161
-
162
- DEPENDENCIES
163
- activerecord (~> 3.1)
164
- bson_ext
165
- couch_potato
166
- datamapper
167
- growl
168
- guard
169
- guard-bundler
170
- guard-rspec
171
- maruku (~> 0.6)
172
- mongo_mapper
173
- mongoid
174
- omniauth-identity!
175
- rack-test (~> 0.5)
176
- rake (~> 0.8)
177
- rb-fsevent
178
- rspec (~> 2.7)
179
- simplecov (~> 0.4)
@@ -1,28 +0,0 @@
1
- require 'mongo_mapper'
2
-
3
- module OmniAuth
4
- module Identity
5
- module Models
6
- module MongoMapper
7
- def self.included(base)
8
- base.class_eval do
9
- include ::OmniAuth::Identity::Model
10
- include ::OmniAuth::Identity::SecurePassword
11
-
12
- has_secure_password
13
-
14
- def self.auth_key=(key)
15
- super
16
- validates_uniqueness_of key, :case_sensitive => false
17
- end
18
-
19
- def self.locate(search_hash)
20
- where(search_hash).first
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
28
-
@@ -1,15 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe(OmniAuth::Identity::Models::MongoMapper, :db => true) do
4
- class MongoMapperTestIdentity
5
- include MongoMapper::Document
6
- include OmniAuth::Identity::Models::MongoMapper
7
- auth_key :ham_sandwich
8
- end
9
-
10
-
11
- it 'should delegate locate to the where query method' do
12
- MongoMapperTestIdentity.should_receive(:where).with('ham_sandwich' => 'open faced', 'category' => 'sandwiches').and_return(['wakka'])
13
- MongoMapperTestIdentity.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches').should == 'wakka'
14
- end
15
- end