Sha256: 046cb8e7c67dd72ae18738a16ebf421af86b099ab4290a3b568574c29b3d34d7
Contents?: true
Size: 581 Bytes
Versions: 2
Compression:
Stored size: 581 Bytes
Contents
module Storytime class Subscription < ActiveRecord::Base belongs_to :site scope :active, -> { where(subscribed: true) } validates_presence_of :email validates_format_of :email, with: Storytime.email_regexp validates :email, uniqueness: true before_create :generate_token def generate_token key = Rails.application.secrets.secret_key_base digest = OpenSSL::Digest.new('sha1') self.token = OpenSSL::HMAC.hexdigest(digest, key, self.email) end def unsubscribe! update_attributes(subscribed: false) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
storytime-1.2.0 | app/models/storytime/subscription.rb |
storytime-1.1.1 | app/models/storytime/subscription.rb |