Module: JT::Rails::Tokenizable::Tokenize

Extended by:
ActiveSupport::Concern
Defined in:
lib/tokenize.rb

Instance Method Summary collapse

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_tokensObject



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_missingObject



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