uber_login 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MmY5ZDRiZGZiNmViZTAyNzQwNDRjYWFlMjQyNjA4MzkxZjYyYjc0YQ==
4
+ ZGRhZTQ5MjJjMDllYzc1NWIyZGVlZDA5MzczZmMwYjA2YjJkMGZhNw==
5
5
  data.tar.gz: !binary |-
6
- Y2Y0ZWEyMzhmZWQwMzQ2ZGIxY2MzZWFlMWY5YTgzZTIyMDc2YzNkMA==
6
+ MTdjMjU4OTM5ZGM2ZWE0NGFiZjcwZTU1ZGY0MGFjYzYzMGUxZDM4OA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzQ3ZWFlMmNhNGIzZmY0N2M4ZmI2NzY2Yzk3NDg5ZmUyNGI0MzY1YjUyZjI4
10
- NThhMjM3ZDI0ZTkyY2Q0ZDEzZmZhYjA0MzY3NTg4OGU2YzM3NDc4ZjMxNTJi
11
- YjgwZTI3YWQ0Y2UzMDc4ZTNiMDYwM2Y2ZjBmNDYzNjA5NDYxNzQ=
9
+ ZmUxY2NmOWZkMTYwNDAxZjYyMzEwMTkxMzgwZmQ2MGZlMzNjZTNlMDhhYzJh
10
+ MDE0NTAzMjlkZGE5MjIwMzdjODJlMGRlMGQxNGYzN2Y2Yjk1NWY4ZjY0YTcw
11
+ ODNjZmVjYzVkNDAxMGE3ZDE0YWRlZGJlMDcyYWI5ZjU4MWU3M2M=
12
12
  data.tar.gz: !binary |-
13
- MzBlM2Y3ZTMzYjcwYmQ5YjgwZjExOGVjODA4NjFlYjU3MWE4MDcyNDNiOTU3
14
- ZTNmYTI2YWY4MjIyNTdhYWNlYThiZTk4MjI1MjYwNTU1YmIzNDZlMWVkYzli
15
- OWJjODFjMDUxZWFmM2EyYjIxMDJiZDA1ZDkwNmJiNjNhMzc3ZTM=
13
+ YjU3MjE4MzkzNGI0NmM3N2FlNjcwN2QxNTJjYmJhODQ2NGQwMDgyN2ExMWEy
14
+ YTI1NWNmNjljYjNiM2QxYTBlMDk4NmRmZjJkZTZhZTUzZmRjZWY2MjM2OWQ3
15
+ NDJjNWY4YmZkYzM1MTI2ZWZlYjhkMTQ0MjdjMmQwODBkNDA0YWE=
@@ -1,3 +1,3 @@
1
1
  module UberLogin
2
- VERSION = '2.1.0'
2
+ VERSION = '2.2.0'
3
3
  end
data/lib/uber_login.rb CHANGED
@@ -13,6 +13,7 @@ module UberLogin
13
13
 
14
14
  included do
15
15
  define_callbacks :login, :logout
16
+ @login_from_cookies = nil
16
17
  end
17
18
 
18
19
  ##
@@ -41,6 +42,7 @@ module UberLogin
41
42
  # If strong sessions are enabled session[+:ulogin+] is set to the same value that cookies[+:ulogin+] would have
42
43
  def login(user, remember = false)
43
44
  logout_all unless UberLogin.configuration.allow_multiple_login
45
+ @login_from_cookies = false
44
46
 
45
47
  run_callbacks :login do
46
48
  if strong_sessions or remember
@@ -80,6 +82,10 @@ module UberLogin
80
82
  cookie_manager.clear
81
83
  end
82
84
 
85
+ def login_from_cookies?
86
+ @login_from_cookies
87
+ end
88
+
83
89
  def persistent_login?
84
90
  cookie_manager.valid?
85
91
  end
@@ -108,6 +114,8 @@ module UberLogin
108
114
  # Attempts a login from the +:uid+ and +:ulogin+ cookies.
109
115
  def login_from_cookies
110
116
  if persistent_login?
117
+ @login_from_cookies = true
118
+
111
119
  run_callbacks :login do
112
120
  reset_session
113
121
  session[:uid] = cookies[:uid]
@@ -317,4 +317,51 @@ describe UberLogin do
317
317
  end
318
318
  end
319
319
  end
320
+
321
+ describe '#login_from_cookies?' do
322
+ context 'cookies are not set' do
323
+ context 'session is not set' do
324
+ context 'after a login' do
325
+ it 'be false' do
326
+ controller.login(user)
327
+ expect(controller.login_from_cookies?).to be_false
328
+ end
329
+ end
330
+
331
+ context 'other pages' do
332
+ it 'is nil' do
333
+ expect(controller.login_from_cookies?).to be_nil
334
+ end
335
+ end
336
+ end
337
+ end
338
+
339
+ context 'cookies[:uid] and cookies[:ulogin] are set' do
340
+ before {
341
+ cookies[:uid] = "100"
342
+ cookies[:ulogin] = "whatever:beef"
343
+ session[:uid] = nil
344
+ }
345
+
346
+ context 'the cookies are valid' do
347
+ before { UberLogin::CookieManager.any_instance.stub(:valid?).and_return true }
348
+
349
+ context 'on cookie login' do
350
+ it 'is true' do
351
+ controller.current_user
352
+ expect(controller.login_from_cookies?).to be_true
353
+ end
354
+ end
355
+ end
356
+
357
+ context 'the cookies are not valid' do
358
+ before { UberLogin::CookieManager.any_instance.stub(:valid?).and_return false }
359
+
360
+ it 'is nil' do
361
+ controller.current_user
362
+ expect(controller.login_from_cookies?).to be_nil
363
+ end
364
+ end
365
+ end
366
+ end
320
367
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uber_login
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesco Boffa