Module: JT::Rails::Tokenizable::Tokenize
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/tokenize.rb
Instance Method Summary collapse
- #generate_new_token(field) ⇒ Object
- #jt_rails_generate_tokens ⇒ Object
- #jt_rails_generate_tokens_if_missing ⇒ Object
Instance Method Details
#generate_new_token(field) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'lib/tokenize.rb', line 42 def generate_new_token(field) size = self.class.jt_rails_token_fields[field.to_sym].fetch(:size, 32) only_digits = self.class.jt_rails_token_fields[field.to_sym].fetch(:only_digits, false) self[field.to_sym] = loop do random_token = only_digits ? format("%.#{size}d", SecureRandom.random_number(10**size)) : SecureRandom.hex(size) break random_token unless self.class.exists?(field => random_token) end end |
#jt_rails_generate_tokens ⇒ Object
36 37 38 39 40 |
# File 'lib/tokenize.rb', line 36 def jt_rails_generate_tokens for field in self.class.jt_rails_token_fields.keys generate_new_token(field) end end |
#jt_rails_generate_tokens_if_missing ⇒ Object
30 31 32 33 34 |
# File 'lib/tokenize.rb', line 30 def jt_rails_generate_tokens_if_missing for field in self.class.jt_rails_token_fields.keys generate_new_token(field) if self[field.to_sym].blank? end end |