class Token < ActiveRecord::Base
  belongs_to :user

  before_create :assign_token

  CHARS = 32

  private
  def assign_token
    self.token = generate_token
  end

  def generate_token
    loop do
      candidate = SecureRandom.base64(CHARS).gsub(/\W/, '')
      if candidate.size >= CHARS
        return candidate[0...CHARS]
      end
    end
  end

end