Method: Skr::Concerns::RandomHashCode::ClassMethods#has_random_hash_code
- Defined in:
- lib/skr/concerns/random_hash_code.rb
#has_random_hash_code(field_name: :hash_code, length: 12) ⇒ Object
A random string that identifies an entity, such as a Customer, or Vendor The code is generated by Strings.random for new records It’s useful for generating magic links for access to an entity that cannot be guessed.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/skr/concerns/random_hash_code.rb', line 19 def has_random_hash_code( field_name: :hash_code, length: 12 ) validates field_name, :presence=>{ :message=>"hash code is not set (should be automatically chosen)" } scope :with_hash_code, lambda{ | code | where({ :hash_code=>code }) } before_validation(:on=>:create) do self[ field_name ] = Lanes::Strings.random( length ) if self[ field_name ].blank? end end |