module Newsletterable
Constants
- VERSION
Public Class Methods
eager_load!()
click to toggle source
# File lib/newsletterable.rb, line 29 def self.eager_load! # No autoloads end
Public Instance Methods
configuration()
click to toggle source
# File lib/newsletterable.rb, line 19 def configuration @@lock.synchronize do @@configuration ||= Configuration.new(defaults) end end
configure() { |configuration| ... }
click to toggle source
# File lib/newsletterable.rb, line 25 def configure yield configuration end
Private Instance Methods
default_list_resolver()
click to toggle source
# File lib/newsletterable.rb, line 60 def default_list_resolver -> (subscriber, list_name, lists) do result = case lists when String, Array lists when Hash lists[list_name] else if lists.respond_to?(:call) lists.call(subscriber) end end Array.wrap(result) end end
defaults()
click to toggle source
# File lib/newsletterable.rb, line 35 def defaults { worker: Newsletterable::Worker, list_resolver: default_list_resolver, old_email_getter: -> (subscriber) { if subscriber.respond_to?(:old_email) subscriber.old_email elsif subscriber.respond_to?(:email_was) subscriber.email_was else raise ConfigurationError, <<-TEXT, __FILE__, __LINE__ + 1 Unable to retreive old email for update. Perhaps consider implementing 'old_email_getter' in your newsletterable initializer. e.g. config.old_email_getter = -> (user) do # Get the updated email address from your model user.email_before_update end TEXT end } } end