g5_authenticatable 1.1.1 → 1.1.2.pre.1

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
  SHA256:
3
- metadata.gz: 88fd8bc7d1075d2b74f63cf58fe57f0280b2e96b04f8627c63af207e1cdb9a8c
4
- data.tar.gz: a9b0ce4501c3dcbe101aa5430dc8209afe1ed60fc919a2f893cabe39deff9286
3
+ metadata.gz: '081f7ecf2032384e90e2496d589a4b1f4ec09136d05acec75ac2e05b747e336d'
4
+ data.tar.gz: db926d3359f6e8fa3eb2e88d6bf48ad519743721da0928db845b89fcdcb19ee0
5
5
  SHA512:
6
- metadata.gz: c8af1bdf2cf861593ef2176c2b11d8bba5fe14b297dd1b01af91ba8645f4fb65b2a80f8796428a438a710db3dbe792c54871ec04ec784ecc9d181184aaefc949
7
- data.tar.gz: 8e8ba6bceb7b22c1d20c8e91295ba4c3b8a599cd6b14f520f5cca7ff0a18c52bcbecad8a989a010f39883a4c68c397c7b93a08a4559d9ba50210b5f41c4def51
6
+ metadata.gz: a3db25d8018a283bda4d8d3aa34c2ab34dc3ec9b60065cdd86c0e87e4fb5cf155108d60c96711e097749c8f47d163383b75a5af34e8063a5d43109b2d0e47ccf
7
+ data.tar.gz: 25db85aa0014338a5cd1a13932543ef8fbe6df0106e19eed1702b141c3d4815ebd6127e51a8207398f46ffe579b9d2deb9a2b399ba01015b2a6e7685d0e3953a
data/.travis.yml CHANGED
@@ -23,11 +23,15 @@ cache:
23
23
  before_install:
24
24
  - gem install bundler
25
25
  before_script:
26
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
27
+ - chmod +x ./cc-test-reporter
28
+ - ./cc-test-reporter before-build
26
29
  - cp spec/dummy/config/database.yml.ci spec/dummy/config/database.yml
27
30
  - RAILS_ENV=test bundle exec rake app:db:create app:db:migrate
28
31
  script:
29
32
  - bundle exec rspec spec
30
33
  after_script:
34
+ - ./cc-test-reporter after-build --exit-code $EXIT_CODE
31
35
  - RAILS_ENV=test bundle exec rake app:db:drop
32
36
  env:
33
37
  global:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ ## v1.1.2 (2018-12-20)
2
+ * Adding `User.current_client_urn` to better support Pundit authorization
1
3
  ## v1.1.1 (2018-06-21)
2
4
 
3
5
  * Support rails 5.2 green field apps, including fixes for setting the default
data/Gemfile CHANGED
@@ -23,7 +23,6 @@ end
23
23
 
24
24
  group :test do
25
25
  gem 'capybara'
26
- gem 'codeclimate-test-reporter'
27
26
  gem 'generator_spec'
28
27
  gem 'rspec-activemodel-mocks'
29
28
  gem 'shoulda-matchers', '~> 3.1'
data/README.md CHANGED
@@ -76,7 +76,7 @@ root to: 'home#index'
76
76
  ### Registering your OAuth application
77
77
 
78
78
  1. Visit the auth server admin console and login:
79
- * For development, visit https://dev-auth.g5search.com/admin
79
+ * For development, visit https://auth-staging.g5devops.com/admin
80
80
  * For production, visit https://auth.g5search.com/admin
81
81
  2. Click "New Application"
82
82
  3. Enter a name that recognizably identifies your application.
@@ -106,7 +106,7 @@ environment variables for your client application:
106
106
  * `G5_AUTH_CLIENT_SECRET` - the OAuth 2.0 application secret from the auth server
107
107
  * `G5_AUTH_REDIRECT_URI` - the OAuth 2.0 redirect URI registered with the auth server
108
108
  * `G5_AUTH_ENDPOINT` - the endpoint URL (without any path info) for the G5 auth server.
109
- Generally, this will be set to either `https://dev-auth.g5search.com` or
109
+ Generally, this will be set to either `https://auth-staging.g5devops.com` or
110
110
  `https://auth.g5search.com` (the default).
111
111
 
112
112
  If you need to make server-to-server API calls that are not associated with an
@@ -9,6 +9,7 @@ module G5Authenticatable
9
9
 
10
10
  validates :email, presence: true, uniqueness: true
11
11
  validates_uniqueness_of :uid, scope: :provider
12
+ attr_accessor :current_client_urn # helpful for authorizing in Pudit
12
13
 
13
14
  GLOBAL_ROLE = 'GLOBAL'
14
15
 
@@ -17,7 +17,6 @@ end
17
17
 
18
18
  group :test do
19
19
  gem "capybara"
20
- gem "codeclimate-test-reporter"
21
20
  gem "generator_spec"
22
21
  gem "rspec-activemodel-mocks"
23
22
  gem "shoulda-matchers", "~> 3.1"
@@ -17,7 +17,6 @@ end
17
17
 
18
18
  group :test do
19
19
  gem "capybara"
20
- gem "codeclimate-test-reporter"
21
20
  gem "generator_spec"
22
21
  gem "rspec-activemodel-mocks"
23
22
  gem "shoulda-matchers", "~> 3.1"
@@ -17,7 +17,6 @@ end
17
17
 
18
18
  group :test do
19
19
  gem "capybara"
20
- gem "codeclimate-test-reporter"
21
20
  gem "generator_spec"
22
21
  gem "rspec-activemodel-mocks"
23
22
  gem "shoulda-matchers", "~> 3.1"
@@ -17,7 +17,6 @@ end
17
17
 
18
18
  group :test do
19
19
  gem "capybara"
20
- gem "codeclimate-test-reporter"
21
20
  gem "generator_spec"
22
21
  gem "rspec-activemodel-mocks"
23
22
  gem "shoulda-matchers", "~> 3.1"
@@ -17,7 +17,6 @@ end
17
17
 
18
18
  group :test do
19
19
  gem "capybara"
20
- gem "codeclimate-test-reporter"
21
20
  gem "generator_spec"
22
21
  gem "rspec-activemodel-mocks"
23
22
  gem "shoulda-matchers", "~> 3.1"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module G5Authenticatable
4
- VERSION = '1.1.1'
4
+ VERSION = '1.1.2-1'
5
5
  end
@@ -9,6 +9,11 @@ RSpec.describe G5Authenticatable::User do
9
9
 
10
10
  it { is_expected.to have_and_belong_to_many(:roles) }
11
11
 
12
+ it 'has an current_client_urn attr_accessor' do
13
+ subject.current_client_urn = 'foo'
14
+ expect(subject.current_client_urn).to eq('foo')
15
+ end
16
+
12
17
  it 'should expose the email' do
13
18
  expect(user.email).to eq(user_attributes[:email])
14
19
  end
@@ -68,30 +73,30 @@ RSpec.describe G5Authenticatable::User do
68
73
  full_name = [new_user_attributes[:first_name],
69
74
  new_user_attributes[:last_name]].join(' ')
70
75
  OmniAuth::AuthHash.new(
71
- 'uid' => new_user_attributes[:uid],
72
- 'provider' => new_user_attributes[:provider],
73
- 'info' => {
74
- 'email' => new_user_attributes[:email],
75
- 'name' => full_name,
76
- 'first_name' => new_user_attributes[:first_name],
77
- 'last_name' => new_user_attributes[:last_name],
78
- 'phone' => new_user_attributes[:phone_number]
79
- },
80
- 'credentials' => {
81
- 'token' => new_user_attributes[:g5_access_token],
82
- 'expires' => true,
83
- 'expires_at' => Time.now + 1000
84
- },
85
- 'extra' => {
86
- 'title' => new_user_attributes[:title],
87
- 'organization_name' => new_user_attributes[:organization_name],
88
- 'roles' => [
89
- { 'name' => new_role_attributes[:name],
90
- 'type' => 'GLOBAL',
91
- 'urn' => nil }
92
- ],
93
- 'raw_info' => {}
94
- }
76
+ 'uid' => new_user_attributes[:uid],
77
+ 'provider' => new_user_attributes[:provider],
78
+ 'info' => {
79
+ 'email' => new_user_attributes[:email],
80
+ 'name' => full_name,
81
+ 'first_name' => new_user_attributes[:first_name],
82
+ 'last_name' => new_user_attributes[:last_name],
83
+ 'phone' => new_user_attributes[:phone_number]
84
+ },
85
+ 'credentials' => {
86
+ 'token' => new_user_attributes[:g5_access_token],
87
+ 'expires' => true,
88
+ 'expires_at' => Time.now + 1000
89
+ },
90
+ 'extra' => {
91
+ 'title' => new_user_attributes[:title],
92
+ 'organization_name' => new_user_attributes[:organization_name],
93
+ 'roles' => [
94
+ { 'name' => new_role_attributes[:name],
95
+ 'type' => 'GLOBAL',
96
+ 'urn' => nil }
97
+ ],
98
+ 'raw_info' => {}
99
+ }
95
100
  )
96
101
  end
97
102
 
@@ -108,17 +113,17 @@ RSpec.describe G5Authenticatable::User do
108
113
 
109
114
  it 'has the correct provider' do
110
115
  expect(attributes_from_auth[:provider])
111
- .to eq(new_user_attributes[:provider])
116
+ .to eq(new_user_attributes[:provider])
112
117
  end
113
118
 
114
119
  it 'has the correct first_name' do
115
120
  expect(attributes_from_auth[:first_name])
116
- .to eq(new_user_attributes[:first_name])
121
+ .to eq(new_user_attributes[:first_name])
117
122
  end
118
123
 
119
124
  it 'has the correct last_name' do
120
125
  expect(attributes_from_auth[:last_name])
121
- .to eq(new_user_attributes[:last_name])
126
+ .to eq(new_user_attributes[:last_name])
122
127
  end
123
128
 
124
129
  it 'has the correct email' do
@@ -127,7 +132,7 @@ RSpec.describe G5Authenticatable::User do
127
132
 
128
133
  it 'has the correct phone_number' do
129
134
  expect(attributes_from_auth[:phone_number])
130
- .to eq(new_user_attributes[:phone_number])
135
+ .to eq(new_user_attributes[:phone_number])
131
136
  end
132
137
 
133
138
  it 'has the correct title' do
@@ -136,7 +141,7 @@ RSpec.describe G5Authenticatable::User do
136
141
 
137
142
  it 'has the correct organization_name' do
138
143
  expect(attributes_from_auth[:organization_name])
139
- .to eq(new_user_attributes[:organization_name])
144
+ .to eq(new_user_attributes[:organization_name])
140
145
  end
141
146
  end
142
147
 
@@ -150,29 +155,29 @@ RSpec.describe G5Authenticatable::User do
150
155
  full_name = [new_user_attributes[:first_name],
151
156
  new_user_attributes[:last_name]].join(' ')
152
157
  OmniAuth::AuthHash.new(
153
- 'provider' => new_user_attributes[:provider],
154
- 'info' => {
155
- 'email' => new_user_attributes[:email],
156
- 'name' => full_name,
157
- 'first_name' => new_user_attributes[:first_name],
158
- 'last_name' => new_user_attributes[:last_name],
159
- 'phone' => new_user_attributes[:phone_number]
160
- },
161
- 'credentials' => {
162
- 'token' => new_user_attributes[:g5_access_token],
163
- 'expires' => true,
164
- 'expires_at' => Time.now + 1000
165
- },
166
- 'extra' => {
167
- 'title' => new_user_attributes[:title],
168
- 'organization_name' => new_user_attributes[:organization_name],
169
- 'roles' => [
170
- { 'name' => new_role_attributes[:name],
171
- 'type' => 'GLOBAL',
172
- 'urn' => nil }
173
- ],
174
- 'raw_info' => {}
175
- }
158
+ 'provider' => new_user_attributes[:provider],
159
+ 'info' => {
160
+ 'email' => new_user_attributes[:email],
161
+ 'name' => full_name,
162
+ 'first_name' => new_user_attributes[:first_name],
163
+ 'last_name' => new_user_attributes[:last_name],
164
+ 'phone' => new_user_attributes[:phone_number]
165
+ },
166
+ 'credentials' => {
167
+ 'token' => new_user_attributes[:g5_access_token],
168
+ 'expires' => true,
169
+ 'expires_at' => Time.now + 1000
170
+ },
171
+ 'extra' => {
172
+ 'title' => new_user_attributes[:title],
173
+ 'organization_name' => new_user_attributes[:organization_name],
174
+ 'roles' => [
175
+ { 'name' => new_role_attributes[:name],
176
+ 'type' => 'GLOBAL',
177
+ 'urn' => nil }
178
+ ],
179
+ 'raw_info' => {}
180
+ }
176
181
  )
177
182
  end
178
183
 
@@ -237,7 +242,7 @@ RSpec.describe G5Authenticatable::User do
237
242
 
238
243
  it 'should set the organization_name from the session data' do
239
244
  expect(new_user.organization_name)
240
- .to eq(new_user_attributes[:organization_name])
245
+ .to eq(new_user_attributes[:organization_name])
241
246
  end
242
247
 
243
248
  it 'should assign the role from the session data' do
@@ -281,11 +286,11 @@ RSpec.describe G5Authenticatable::User do
281
286
 
282
287
  let(:user_attributes) do
283
288
  FactoryBot.attributes_for(:g5_authenticatable_user,
284
- first_name: nil,
285
- last_name: nil,
286
- phone_number: nil,
287
- title: nil,
288
- organization_name: nil)
289
+ first_name: nil,
290
+ last_name: nil,
291
+ phone_number: nil,
292
+ title: nil,
293
+ organization_name: nil)
289
294
  end
290
295
  let(:role_name) { :my_role }
291
296
 
@@ -296,27 +301,27 @@ RSpec.describe G5Authenticatable::User do
296
301
 
297
302
  let(:auth_data) do
298
303
  OmniAuth::AuthHash.new(
299
- 'provider' => user_attributes[:provider],
300
- 'uid' => user_attributes[:uid],
301
- 'info' => {
302
- 'email' => updated_attributes[:email],
303
- 'first_name' => updated_attributes[:first_name],
304
- 'last_name' => updated_attributes[:last_name],
305
- 'phone' => updated_attributes[:phone_number]
306
- },
307
- 'credentials' => {
308
- 'token' => updated_attributes[:g5_access_token],
309
- 'expires' => true,
310
- 'expires_at' => Time.now + 1000
311
- },
312
- 'extra' => {
313
- 'title' => updated_attributes[:title],
314
- 'organization_name' => updated_attributes[:organization_name],
315
- 'roles' => [
316
- { name: updated_role_name, type: 'GLOBAL', urn: nil }
317
- ],
318
- 'raw_info' => {}
319
- }
304
+ 'provider' => user_attributes[:provider],
305
+ 'uid' => user_attributes[:uid],
306
+ 'info' => {
307
+ 'email' => updated_attributes[:email],
308
+ 'first_name' => updated_attributes[:first_name],
309
+ 'last_name' => updated_attributes[:last_name],
310
+ 'phone' => updated_attributes[:phone_number]
311
+ },
312
+ 'credentials' => {
313
+ 'token' => updated_attributes[:g5_access_token],
314
+ 'expires' => true,
315
+ 'expires_at' => Time.now + 1000
316
+ },
317
+ 'extra' => {
318
+ 'title' => updated_attributes[:title],
319
+ 'organization_name' => updated_attributes[:organization_name],
320
+ 'roles' => [
321
+ { name: updated_role_name, type: 'GLOBAL', urn: nil }
322
+ ],
323
+ 'raw_info' => {}
324
+ }
320
325
  )
321
326
  end
322
327
 
@@ -328,7 +333,7 @@ RSpec.describe G5Authenticatable::User do
328
333
 
329
334
  it 'should update the access token' do
330
335
  expect { updated_user }.to change { user.reload.g5_access_token }
331
- .to(updated_attributes[:g5_access_token])
336
+ .to(updated_attributes[:g5_access_token])
332
337
  end
333
338
 
334
339
  it 'should return the updated user' do
@@ -360,22 +365,22 @@ RSpec.describe G5Authenticatable::User do
360
365
  end
361
366
 
362
367
  it 'should not change the user roles' do
363
- expect { updated_user }.to_not change { user.reload.roles }
368
+ expect { updated_user }.to_not change { user.roles.reload.to_a }
364
369
  end
365
370
  end
366
371
 
367
372
  context 'when user info has changed' do
368
373
  let(:updated_attributes) do
369
374
  {
370
- uid: user.uid,
371
- provider: user.provider,
372
- email: 'updated.email@test.host',
373
- g5_access_token: 'updatedtoken42',
374
- first_name: 'Updated First Name',
375
- last_name: 'Updated Last Name',
376
- phone_number: '555.555.5555 x123',
377
- title: 'Recently Promoted',
378
- organization_name: 'Updated Department'
375
+ uid: user.uid,
376
+ provider: user.provider,
377
+ email: 'updated.email@test.host',
378
+ g5_access_token: 'updatedtoken42',
379
+ first_name: 'Updated First Name',
380
+ last_name: 'Updated Last Name',
381
+ phone_number: '555.555.5555 x123',
382
+ title: 'Recently Promoted',
383
+ organization_name: 'Updated Department'
379
384
  }
380
385
  end
381
386
 
@@ -383,7 +388,7 @@ RSpec.describe G5Authenticatable::User do
383
388
 
384
389
  it 'should update the access token' do
385
390
  expect { updated_user }.to change { user.reload.g5_access_token }
386
- .to(updated_attributes[:g5_access_token])
391
+ .to(updated_attributes[:g5_access_token])
387
392
  end
388
393
 
389
394
  it 'should return the updated user' do
@@ -400,32 +405,32 @@ RSpec.describe G5Authenticatable::User do
400
405
 
401
406
  it 'should update the email' do
402
407
  expect { updated_user }.to change { user.reload.email }
403
- .to(updated_attributes[:email])
408
+ .to(updated_attributes[:email])
404
409
  end
405
410
 
406
411
  it 'should update the first name' do
407
412
  expect { updated_user }.to change { user.reload.first_name }
408
- .to(updated_attributes[:first_name])
413
+ .to(updated_attributes[:first_name])
409
414
  end
410
415
 
411
416
  it 'should update the last name' do
412
417
  expect { updated_user }.to change { user.reload.last_name }
413
- .to(updated_attributes[:last_name])
418
+ .to(updated_attributes[:last_name])
414
419
  end
415
420
 
416
421
  it 'should update the phone number' do
417
422
  expect { updated_user }.to change { user.reload.phone_number }
418
- .to(updated_attributes[:phone_number])
423
+ .to(updated_attributes[:phone_number])
419
424
  end
420
425
 
421
426
  it 'should update the title' do
422
427
  expect { updated_user }.to change { user.reload.title }
423
- .to(updated_attributes[:title])
428
+ .to(updated_attributes[:title])
424
429
  end
425
430
 
426
431
  it 'should update the organization_name' do
427
432
  expect { updated_user }.to change { user.reload.organization_name }
428
- .to(updated_attributes[:organization_name])
433
+ .to(updated_attributes[:organization_name])
429
434
  end
430
435
 
431
436
  it 'should unassign the old role' do
@@ -503,25 +508,25 @@ RSpec.describe G5Authenticatable::User do
503
508
 
504
509
  let(:auth_data) do
505
510
  OmniAuth::AuthHash.new(
506
- 'provider' => user_attributes[:provider],
507
- 'uid' => user_attributes[:uid],
508
- 'info' => {
509
- 'email' => user_attributes[:email],
510
- 'first_name' => user_attributes[:first_name],
511
- 'last_name' => user_attributes[:last_name],
512
- 'phone' => user_attributes[:phone_number]
513
- },
514
- 'credentials' => {
515
- 'token' => user_attributes[:g5_access_token],
516
- 'expires' => true,
517
- 'expires_at' => Time.now + 1000
518
- },
519
- 'extra' => {
520
- 'title' => user_attributes[:title],
521
- 'organization_name' => user_attributes[:organization_name],
522
- 'roles' => roles,
523
- 'raw_info' => {}
524
- }
511
+ 'provider' => user_attributes[:provider],
512
+ 'uid' => user_attributes[:uid],
513
+ 'info' => {
514
+ 'email' => user_attributes[:email],
515
+ 'first_name' => user_attributes[:first_name],
516
+ 'last_name' => user_attributes[:last_name],
517
+ 'phone' => user_attributes[:phone_number]
518
+ },
519
+ 'credentials' => {
520
+ 'token' => user_attributes[:g5_access_token],
521
+ 'expires' => true,
522
+ 'expires_at' => Time.now + 1000
523
+ },
524
+ 'extra' => {
525
+ 'title' => user_attributes[:title],
526
+ 'organization_name' => user_attributes[:organization_name],
527
+ 'roles' => roles,
528
+ 'raw_info' => {}
529
+ }
525
530
  )
526
531
  end
527
532
 
@@ -532,7 +537,7 @@ RSpec.describe G5Authenticatable::User do
532
537
 
533
538
  it 'will add a global role' do
534
539
  expect { user.update_roles_from_auth(auth_data) }
535
- .to change { user.roles.length }.from(0).to(1)
540
+ .to change { user.roles.length }.from(0).to(1)
536
541
  expect(user.roles.first.name).to eq('admin')
537
542
  expect(user.roles.first.resource).to be_nil
538
543
  end
@@ -545,7 +550,7 @@ RSpec.describe G5Authenticatable::User do
545
550
 
546
551
  it 'will add a scoped role' do
547
552
  expect { user.update_roles_from_auth(auth_data) }
548
- .to change { user.roles.length }.from(0).to(1)
553
+ .to change { user.roles.length }.from(0).to(1)
549
554
  expect(user.roles.first.name).to eq('viewer')
550
555
  expect(user.roles.first.resource_id).to eq(resource.id)
551
556
  expect(user.roles.first.resource_type).to eq(resource.class.name)
@@ -555,14 +560,14 @@ RSpec.describe G5Authenticatable::User do
555
560
  context 'with a more than 1 role' do
556
561
  let(:roles) do
557
562
  [
558
- { name: 'viewer', type: resource.class.name, urn: resource.urn },
559
- { name: 'admin', type: 'GLOBAL', urn: nil }
563
+ { name: 'viewer', type: resource.class.name, urn: resource.urn },
564
+ { name: 'admin', type: 'GLOBAL', urn: nil }
560
565
  ]
561
566
  end
562
567
 
563
568
  it 'will add a scoped role' do
564
569
  expect { user.update_roles_from_auth(auth_data) }
565
- .to change { user.roles.length }.from(0).to(2)
570
+ .to change { user.roles.length }.from(0).to(2)
566
571
  end
567
572
  end
568
573
 
@@ -575,7 +580,7 @@ RSpec.describe G5Authenticatable::User do
575
580
 
576
581
  it 'will add a scoped role' do
577
582
  expect { user.update_roles_from_auth(auth_data) }
578
- .to_not change { user.roles.length }
583
+ .to_not change { user.roles.length }
579
584
  end
580
585
  end
581
586
 
@@ -584,21 +589,21 @@ RSpec.describe G5Authenticatable::User do
584
589
 
585
590
  it 'will add a scoped role' do
586
591
  expect { user.update_roles_from_auth(auth_data) }
587
- .to_not change { user.roles.length }.from(0)
592
+ .to_not change { user.roles.length }.from(0)
588
593
  end
589
594
  end
590
595
 
591
596
  context 'with a bad role type' do
592
597
  let(:roles) do
593
598
  [
594
- { name: 'viewer', type: resource.class.name, urn: resource.urn },
595
- { name: 'viewer', type: 'BadResource', urn: resource.urn }
599
+ { name: 'viewer', type: resource.class.name, urn: resource.urn },
600
+ { name: 'viewer', type: 'BadResource', urn: resource.urn }
596
601
  ]
597
602
  end
598
603
 
599
604
  it 'will skip the bad role' do
600
605
  expect { user.update_roles_from_auth(auth_data) }
601
- .to change { user.roles.length }.from(0).to(1)
606
+ .to change { user.roles.length }.from(0).to(1)
602
607
  expect(user.roles.first.name).to eq('viewer')
603
608
  expect(user.roles.first.resource_id).to eq(resource.id)
604
609
  expect(user.roles.first.resource_type).to eq(resource.class.name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: g5_authenticatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - maeve
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-21 00:00:00.000000000 Z
11
+ date: 2018-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise_g5_authenticatable
@@ -303,9 +303,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
303
303
  version: '0'
304
304
  required_rubygems_version: !ruby/object:Gem::Requirement
305
305
  requirements:
306
- - - ">="
306
+ - - ">"
307
307
  - !ruby/object:Gem::Version
308
- version: '0'
308
+ version: 1.3.1
309
309
  requirements: []
310
310
  rubyforge_project:
311
311
  rubygems_version: 2.7.6