Sha256: 4cabc8263a6b06f852594ec25a74c49f66370cab2eb470af9bad6b2fc8476cf8

Contents?: true

Size: 711 Bytes

Versions: 1

Compression:

Stored size: 711 Bytes

Contents

module Gemgento

  # @author Gemgento LLC
  class Subscriber < ActiveRecord::Base
    belongs_to :country

    validates_format_of :email, with: /([^\s]+)((?:[-a-z0-9]\.)[a-z]{2,})/
    validates_presence_of :email
    validates :email, uniqueness: true

    def self.manage(user, subscribe)
      if subscribe
        add_user user
      else
        remove_user user
      end
    end

    def self.add_user(user)
      subscriber = Subscriber.find_or_initialize_by(email: user.email)
      subscriber.first_name = user.first_name
      subscriber.last_name = user.last_name
      subscriber.save
    end

    def self.remove_user(user)
      Subscriber.where(email: user.email).destroy_all
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gemgento-2.8.0 app/models/gemgento/subscriber.rb