Sha256: fc10bbf7c0c503a537d6290a1569576683f863b1891f16bba9f9cc93353084f7
Contents?: true
Size: 630 Bytes
Versions: 8
Compression:
Stored size: 630 Bytes
Contents
module Storytime class Subscription < ActiveRecord::Base include Storytime::ScopedToSite belongs_to :site scope :active, -> { where(subscribed: true) } validates_presence_of :email validates_format_of :email, with: Storytime.email_regexp validates_uniqueness_of :email, scope: :site_id 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
8 entries across 8 versions & 1 rubygems