jt-rails-tokenizable 1.0.6 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/jt-rails-tokenizable.gemspec +1 -1
- data/lib/tokenize.rb +9 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16d1eab72af17be011c394d50aefdfc9b2319e62
|
4
|
+
data.tar.gz: 4774d22f5c65318cf491c9152c5bb317314401b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03ffc438321aa9b680b4cc400a12ecb9675d251cc12c326321c4bfccc012f29e88c9aaab7907eed656795dcf8ac56d373ad2e4c68635d9d2ab9d1431a70f9b41
|
7
|
+
data.tar.gz: 2c08c2e6f05aa24707dea0fe2f0d7916e1cc0e60434e264e2af2786e8fd3e36e8631fd86c569b2fe145b207ba27a0bbe9995120c772b77887f67d76c3d487bcd
|
@@ -3,7 +3,7 @@ Gem::Specification.new do |s|
|
|
3
3
|
s.summary = "Token generation for ActiveRecord models in Ruby On Rails"
|
4
4
|
s.description = "Generate tokens for ActiveRecord models in Ruby On Rails"
|
5
5
|
s.homepage = 'https://github.com/jonathantribouharet/jt-rails-tokenizable'
|
6
|
-
s.version = '1.0.
|
6
|
+
s.version = '1.0.7'
|
7
7
|
s.files = `git ls-files`.split("\n")
|
8
8
|
s.require_paths = ['lib']
|
9
9
|
s.authors = ['Jonathan TRIBOUHARET']
|
data/lib/tokenize.rb
CHANGED
@@ -2,17 +2,15 @@ module JT::Rails::Tokenizable::Tokenize
|
|
2
2
|
extend ActiveSupport::Concern
|
3
3
|
|
4
4
|
included do
|
5
|
-
before_validation :
|
6
|
-
|
7
|
-
mattr_accessor :jt_rails_token_fields do
|
8
|
-
{}
|
9
|
-
end
|
5
|
+
before_validation :jt_rails_generate_tokens, on: :create
|
10
6
|
end
|
11
7
|
|
12
8
|
module ClassMethods
|
13
9
|
|
14
10
|
def tokenize(field, options = {})
|
15
|
-
jt_rails_token_fields
|
11
|
+
@@jt_rails_token_fields ||= {}
|
12
|
+
|
13
|
+
@@jt_rails_token_fields[field.to_sym] = options
|
16
14
|
|
17
15
|
if options.fetch(:valiations, true)
|
18
16
|
validates field, presence: true, uniqueness: true
|
@@ -21,14 +19,16 @@ module JT::Rails::Tokenizable::Tokenize
|
|
21
19
|
|
22
20
|
end
|
23
21
|
|
24
|
-
def
|
25
|
-
|
22
|
+
def jt_rails_generate_tokens
|
23
|
+
@@jt_rails_token_fields ||= {}
|
24
|
+
|
25
|
+
for field in @@jt_rails_token_fields.keys
|
26
26
|
generate_new_token(field)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
def generate_new_token(field)
|
31
|
-
size = jt_rails_token_fields[field.to_sym].fetch(:size, 32)
|
31
|
+
size = @@jt_rails_token_fields[field.to_sym].fetch(:size, 32)
|
32
32
|
|
33
33
|
self[field.to_sym] = loop do
|
34
34
|
random_token = SecureRandom.hex(size)
|