Sha256: 3947687787f38515a76ec771cd8b6258a56e8aaa9f97a7307a665aa4ef0cbdd9

Contents?: true

Size: 486 Bytes

Versions: 2

Compression:

Stored size: 486 Bytes

Contents

module Gringotts
  class Code < ActiveRecord::Base
    
    belongs_to :vault
    has_many   :deliveries
    
    validates  :vault_id, presence: true
    validates  :value,    presence: true
    
    before_validation :generate_value, :set_expires_at
    
    def generate_value(places = 5)
      self.value ||= places.times.map { Random.rand(10) }.join("")
    end
    
    def set_expires_at(expires = (Time.now + 5.minutes))
      self.expires_at ||= expires
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gringotts-0.6.7 app/models/gringotts/code.rb
gringotts-0.6.5 app/models/gringotts/code.rb