signinable 2.0.3 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/signinable/model_additions.rb +6 -6
- data/lib/signinable/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7f444bdf0cb1a270d31e004760a723d8e8ba48e
|
4
|
+
data.tar.gz: b40c23efac320454d30e10362c80d45bfcd22ca6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a106fb31f69898db7a42b7ea6803171cd91f3400c9c08a7265089442d5aa8f32ec4ef8383a1a61ee66f5b0f97edca80eff6c61a1a3b9320e5a168fed72e5c23
|
7
|
+
data.tar.gz: 932903248820c31efa56fba59770723a8db7faa5c4a648a2860a07a0093815aa499043a1d2409ab7918cdf2842829233f8ecd646d7f11d36799c7c9d92e5dee3
|
@@ -7,9 +7,9 @@ module Signinable
|
|
7
7
|
cattr_accessor :signin_expiration
|
8
8
|
cattr_accessor :signin_simultaneous
|
9
9
|
cattr_accessor :signin_restrictions
|
10
|
-
self.signin_expiration = options
|
11
|
-
self.signin_simultaneous = options
|
12
|
-
self.signin_restrictions = (
|
10
|
+
self.signin_expiration = options.fetch(:expiration, 2.hours)
|
11
|
+
self.signin_simultaneous = options.fetch(:simultaneous, true)
|
12
|
+
self.signin_restrictions = options.fetch(:restrictions, []).is_a?(Array) ? options[:restrictions] : []
|
13
13
|
|
14
14
|
has_many :signins, as: :signinable, dependent: :destroy
|
15
15
|
end
|
@@ -29,7 +29,7 @@ module Signinable
|
|
29
29
|
end
|
30
30
|
|
31
31
|
return nil unless self.check_signin_permission(signin, ip, user_agent)
|
32
|
-
signin.update!(expiration_time: (Time.zone.now + self.signin_expiration)) unless self.signin_expiration == 0
|
32
|
+
signin.update!(expiration_time: (Time.zone.now + self.signin_expiration)) unless signin.expiration_time.nil? || self.signin_expiration == 0
|
33
33
|
signin.signinable
|
34
34
|
end
|
35
35
|
end
|
@@ -50,11 +50,11 @@ module Signinable
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
def signin(ip, user_agent, referer)
|
53
|
+
def signin(ip, user_agent, referer, permanent = false)
|
54
54
|
if self.class.signin_expiration.respond_to?(:call)
|
55
55
|
self.class.signin_expiration = self.class.signin_expiration.call(self)
|
56
56
|
end
|
57
|
-
expiration_time = self.class.signin_expiration == 0 ? nil : (Time.zone.now + self.class.signin_expiration)
|
57
|
+
expiration_time = (self.class.signin_expiration == 0 || permanent) ? nil : (Time.zone.now + self.class.signin_expiration)
|
58
58
|
Signin.create!(signinable: self, ip: ip, referer: referer, user_agent: user_agent, expiration_time: expiration_time).token
|
59
59
|
end
|
60
60
|
|
data/lib/signinable/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: signinable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Novozhenets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|