module Maktoub
Constants
- VERSION
Attributes
app_name[RW]
email_field[W]
facebook_url[RW]
from[RW]
google_plus_url[RW]
home_domain[RW]
linkedin_url[RW]
logo[RW]
name_field[W]
subscription_preferences_url[RW]
twitter_url[RW]
unsubscribe_method[RW]
Public Class Methods
email_field()
click to toggle source
# File lib/maktoub.rb, line 18 def email_field @email_field || :email end
home_url()
click to toggle source
# File lib/maktoub.rb, line 48 def home_url "http://" + home_domain end
name_field()
click to toggle source
# File lib/maktoub.rb, line 22 def name_field @name_field || :name end
subscribers()
click to toggle source
# File lib/maktoub.rb, line 26 def subscribers @subscribers.call end
subscribers_extractor(&block)
click to toggle source
# File lib/maktoub.rb, line 30 def subscribers_extractor (&block) @subscribers = Proc.new &block end
unsubscribe(email)
click to toggle source
# File lib/maktoub.rb, line 34 def unsubscribe(email) if Maktoub.subscribers.class.parents.include?(ActiveRecord) #check if ActiveRecord relation subscriber = subscribers.find_by(email_field => email) subscriber.send(unsubscribe_method) if subscriber.present? else puts 'WARNING!!! Use ActiveRecord query methods to find subscribers. Falling back to iterating through subscribers array (slow!).' subscribers.select do |s| s.send(email_field) == email end.each do |s| s.send(unsubscribe_method) if unsubscribe_method end end end