omniauth-identity 3.0.3 → 3.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +20 -2
- data/lib/omniauth-identity/version.rb +1 -1
- data/lib/omniauth/identity.rb +1 -0
- data/lib/omniauth/identity/models/sequel.rb +37 -0
- data/spec/omniauth/identity/models/sequel_spec.rb +23 -0
- data/spec/spec_helper.rb +1 -0
- metadata +28 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5de20f544ddaf124fc1b80a0ea15d97d56572034cc985e72001e177c3da2c92
|
4
|
+
data.tar.gz: 21e59364dcba511bd658c7503b4dce12fb7c26e37b7f4bec3b05c91d0d1dd4c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef710bfa64cef76922f89e93ca4292c106bda7e61cb8a49133452227f65163d2c5be70fade9ecc8d973ce35281a812d837edffe27be24689b34646c48109b07a
|
7
|
+
data.tar.gz: 812f288ec96fb46afa30a61fc34caa85b4efbe8857b8fb6dbeaeab9b2c181124db8b8deea40ebbccedcfc8b78d4039dbcad609782d0955a36423e543ba293865
|
data/CHANGELOG.md
CHANGED
@@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
8
8
|
|
9
9
|
## [Unreleased]
|
10
10
|
|
11
|
+
## [3.0.4] - 2021-02-14
|
12
|
+
|
13
|
+
### Added
|
14
|
+
|
15
|
+
- Add support for [sequel ORM](http://sequel.jeremyevans.net/)
|
16
|
+
|
11
17
|
## [3.0.3] - 2021-02-14
|
12
18
|
|
13
19
|
### Added
|
data/README.md
CHANGED
@@ -85,6 +85,22 @@ class Identity < OmniAuth::Identity::Models::ActiveRecord
|
|
85
85
|
end
|
86
86
|
```
|
87
87
|
|
88
|
+
### Sequel
|
89
|
+
|
90
|
+
[Sequel](http://sequel.jeremyevans.net/) is an alternative to ActiveRecord.
|
91
|
+
|
92
|
+
Just include `OmniAuth::Identity::Models::Sequel` mixin, and specify
|
93
|
+
whatever else you will need.
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
class SequelTestIdentity < Sequel::Model
|
97
|
+
include OmniAuth::Identity::Models::Sequel
|
98
|
+
auth_key :email
|
99
|
+
# whatever else you want!
|
100
|
+
end
|
101
|
+
```
|
102
|
+
|
103
|
+
|
88
104
|
### Mongoid
|
89
105
|
|
90
106
|
Include the `OmniAuth::Identity::Models::Mongoid` mixin and specify
|
@@ -103,7 +119,8 @@ end
|
|
103
119
|
|
104
120
|
### CouchPotato
|
105
121
|
|
106
|
-
Include the `OmniAuth::Identity::Models::CouchPotatoModule` mixin and specify
|
122
|
+
Include the `OmniAuth::Identity::Models::CouchPotatoModule` mixin and specify
|
123
|
+
fields that you will need.
|
107
124
|
|
108
125
|
```ruby
|
109
126
|
class Identity
|
@@ -125,7 +142,8 @@ end
|
|
125
142
|
|
126
143
|
[NoBrainer](http://nobrainer.io/) is an ORM for [RethinkDB](https://rethinkdb.com/).
|
127
144
|
|
128
|
-
Include the `OmniAuth::Identity::Models::NoBrainer` mixin and specify
|
145
|
+
Include the `OmniAuth::Identity::Models::NoBrainer` mixin and specify
|
146
|
+
fields that you will need.
|
129
147
|
|
130
148
|
```ruby
|
131
149
|
class Identity
|
data/lib/omniauth/identity.rb
CHANGED
@@ -15,6 +15,7 @@ module OmniAuth
|
|
15
15
|
autoload :Mongoid, 'omniauth/identity/models/mongoid'
|
16
16
|
autoload :CouchPotatoModule, 'omniauth/identity/models/couch_potato'
|
17
17
|
autoload :NoBrainer, 'omniauth/identity/models/no_brainer'
|
18
|
+
autoload :Sequel, 'omniauth/identity/models/sequel'
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'nobrainer'
|
4
|
+
|
5
|
+
module OmniAuth
|
6
|
+
module Identity
|
7
|
+
module Models
|
8
|
+
# http://sequel.jeremyevans.net/ an SQL ORM
|
9
|
+
module Sequel
|
10
|
+
def self.included(base)
|
11
|
+
base.class_eval do
|
12
|
+
# NOTE: Using the deprecated :validations_class_methods because it defines
|
13
|
+
# validates_confirmation_of, while current :validation_helpers does not.
|
14
|
+
# plugin :validation_helpers
|
15
|
+
plugin :validation_class_methods
|
16
|
+
|
17
|
+
include OmniAuth::Identity::Model
|
18
|
+
include ::OmniAuth::Identity::SecurePassword
|
19
|
+
|
20
|
+
has_secure_password
|
21
|
+
|
22
|
+
alias_method :persisted?, :valid?
|
23
|
+
|
24
|
+
def self.auth_key=(key)
|
25
|
+
super
|
26
|
+
validates_uniqueness_of :key, case_sensitive: false
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.locate(search_hash)
|
30
|
+
where(search_hash).first
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'sequel'
|
4
|
+
# Connect to an in-memory sqlite3 database.
|
5
|
+
DB = Sequel.sqlite
|
6
|
+
DB.create_table :sequel_test_identities do
|
7
|
+
primary_key :id
|
8
|
+
String :ham_sandwich, null: false
|
9
|
+
String :password_digest, null: false
|
10
|
+
end
|
11
|
+
|
12
|
+
class SequelTestIdentity < Sequel::Model
|
13
|
+
include OmniAuth::Identity::Models::Sequel
|
14
|
+
auth_key :ham_sandwich
|
15
|
+
end
|
16
|
+
|
17
|
+
RSpec.describe(OmniAuth::Identity::Models::Sequel, db: true) do
|
18
|
+
it 'delegates locate to the where query method' do
|
19
|
+
allow(SequelTestIdentity).to receive(:where).with('ham_sandwich' => 'open faced',
|
20
|
+
'category' => 'sandwiches').and_return(['wakka'])
|
21
|
+
expect(SequelTestIdentity.locate('ham_sandwich' => 'open faced', 'category' => 'sandwiches')).to eq('wakka')
|
22
|
+
end
|
23
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-identity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
@@ -44,16 +44,22 @@ dependencies:
|
|
44
44
|
name: anonymous_active_record
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.0'
|
47
50
|
- - ">="
|
48
51
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.0.
|
52
|
+
version: 1.0.8
|
50
53
|
type: :development
|
51
54
|
prerelease: false
|
52
55
|
version_requirements: !ruby/object:Gem::Requirement
|
53
56
|
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.0'
|
54
60
|
- - ">="
|
55
61
|
- !ruby/object:Gem::Version
|
56
|
-
version: 1.0.
|
62
|
+
version: 1.0.8
|
57
63
|
- !ruby/object:Gem::Dependency
|
58
64
|
name: mongoid
|
59
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +78,14 @@ dependencies:
|
|
72
78
|
name: nobrainer
|
73
79
|
requirement: !ruby/object:Gem::Requirement
|
74
80
|
requirements:
|
75
|
-
- - "
|
81
|
+
- - "~>"
|
76
82
|
- !ruby/object:Gem::Version
|
77
83
|
version: '0'
|
78
84
|
type: :development
|
79
85
|
prerelease: false
|
80
86
|
version_requirements: !ruby/object:Gem::Requirement
|
81
87
|
requirements:
|
82
|
-
- - "
|
88
|
+
- - "~>"
|
83
89
|
- !ruby/object:Gem::Version
|
84
90
|
version: '0'
|
85
91
|
- !ruby/object:Gem::Dependency
|
@@ -124,6 +130,20 @@ dependencies:
|
|
124
130
|
- - "~>"
|
125
131
|
- !ruby/object:Gem::Version
|
126
132
|
version: '3'
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: sequel
|
135
|
+
requirement: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - "~>"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '5'
|
140
|
+
type: :development
|
141
|
+
prerelease: false
|
142
|
+
version_requirements: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - "~>"
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '5'
|
127
147
|
- !ruby/object:Gem::Dependency
|
128
148
|
name: sqlite3
|
129
149
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,6 +176,7 @@ files:
|
|
156
176
|
- lib/omniauth/identity/models/couch_potato.rb
|
157
177
|
- lib/omniauth/identity/models/mongoid.rb
|
158
178
|
- lib/omniauth/identity/models/no_brainer.rb
|
179
|
+
- lib/omniauth/identity/models/sequel.rb
|
159
180
|
- lib/omniauth/identity/secure_password.rb
|
160
181
|
- lib/omniauth/strategies/identity.rb
|
161
182
|
- spec/omniauth/identity/model_spec.rb
|
@@ -163,6 +184,7 @@ files:
|
|
163
184
|
- spec/omniauth/identity/models/couch_potato_spec.rb
|
164
185
|
- spec/omniauth/identity/models/mongoid_spec.rb
|
165
186
|
- spec/omniauth/identity/models/no_brainer_spec.rb
|
187
|
+
- spec/omniauth/identity/models/sequel_spec.rb
|
166
188
|
- spec/omniauth/identity/secure_password_spec.rb
|
167
189
|
- spec/omniauth/strategies/identity_spec.rb
|
168
190
|
- spec/spec_helper.rb
|
@@ -196,6 +218,7 @@ test_files:
|
|
196
218
|
- spec/omniauth/identity/models/couch_potato_spec.rb
|
197
219
|
- spec/omniauth/identity/models/mongoid_spec.rb
|
198
220
|
- spec/omniauth/identity/models/no_brainer_spec.rb
|
221
|
+
- spec/omniauth/identity/models/sequel_spec.rb
|
199
222
|
- spec/omniauth/identity/secure_password_spec.rb
|
200
223
|
- spec/omniauth/strategies/identity_spec.rb
|
201
224
|
- spec/spec_helper.rb
|