jt-rails-tokenizable 1.1 → 1.1.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8b283a9619d8de678f3e0b2675d1004df3724ac
4
- data.tar.gz: 612d1a5dd04f03e905cd4fe0110388f1eff17319
3
+ metadata.gz: ca41eadc1ab309597a8cd63bc3b70d4590f98eff
4
+ data.tar.gz: 181580a454aadd593ffad5ec7695561909d5ac44
5
5
  SHA512:
6
- metadata.gz: 26176f0b7b2af141c5a1a0a5dffea1f710d1fc7c0a151cdd64c52392d4bf043d0e421fa2bfcc8408f8f617f583eeb658638d41b7a2e2556696dfa83256cf83ac
7
- data.tar.gz: 142acfe651142e260b548e5deae24e6eed33e5194aa2554b496887ef8ad79587d0f57eb0906e4c4825719c2b19001d13bc63404ac9e7db899dedf70d8fb6f7aa
6
+ metadata.gz: 51cdb303b15ae3f3e077f59cbbd3b34b70a9deecddcb9e7cd58ad272476b1bd4da0f10afb20901e3c554a0440f8100dda42c0ecb5888194a27dd1da8f5fcfcbc
7
+ data.tar.gz: 4710f12daa5e84108e7520275b98690d9aab2467c6e76dc2b55c980061d59f79dbd08a2ddcb874fc2cf14d4b11f02fdefff3bef0c690575f8f465e400bdee793
data/README.md CHANGED
@@ -20,11 +20,12 @@ Include the gem in your Gemfile:
20
20
  class User < ActiveRecord::Base
21
21
  tokenize :my_token_field
22
22
  tokenize :another_token_field, size: 20, validations: false
23
+ tokenize :another_token_field, size: 20, only_digits: true
23
24
  ...
24
25
  end
25
26
  ```
26
27
 
27
- You can change the size of the token (32 by default, which means 64 caracters) and disable the presence and uniqueness validations. The generation of token is using `SecureRandom.hex` method.
28
+ You can change the size of the token (32 by default, which means 64 caracters) and disable the presence and uniqueness validations. The generation of token is using `SecureRandom.hex` or `SecureRandom.random_number` methods.
28
29
 
29
30
  A new unique token is generated at the creation of the model. You can generate a new token with:
30
31
 
@@ -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.1'
6
+ s.version = '1.1.1'
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
@@ -35,9 +35,10 @@ module JT::Rails::Tokenizable::Tokenize
35
35
 
36
36
  def generate_new_token(field)
37
37
  size = self.class.jt_rails_token_fields[field.to_sym].fetch(:size, 32)
38
+ only_digits = self.class.jt_rails_token_fields[field.to_sym].fetch(:only_digits, false)
38
39
 
39
40
  self[field.to_sym] = loop do
40
- random_token = SecureRandom.hex(size)
41
+ random_token = only_digits ? SecureRandom.random_number(10**size) : SecureRandom.hex(size)
41
42
  break random_token unless self.class.exists?(field => random_token)
42
43
  end
43
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jt-rails-tokenizable
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.1'
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan TRIBOUHARET
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2016-01-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Generate tokens for ActiveRecord models in Ruby On Rails
14
14
  email: jonathan.tribouharet@gmail.com