class Mailtime::Configuration

Attributes

fallback[RW]
log[RW]
log_fields[RW]
loggable_lookups[RW]
mailers[RW]
reject_scope_keys[RW]
render[RW]
valid_formats[RW]
yield_keyword[RW]

Public Class Methods

loggable_lookups() click to toggle source
# File lib/mailtime/configuration.rb, line 43
def self.loggable_lookups
  @loggable_lookups ||= []
end
loggable_lookups=(val) click to toggle source

does nothing on purpose.

# File lib/mailtime/configuration.rb, line 48
def self.loggable_lookups=(val)
  @loggable_lookups
end
new() click to toggle source
# File lib/mailtime/configuration.rb, line 20
def initialize
  @mailers = load_mailers
  @render = true
  @log = true
  @log_fields = [:to]
  @fallback = true
  @reject_scope_keys = ['devise_mapping', 'scope_name']
  @loggable_lookups = Mailtime.loggable_lookups
  @yield_keyword = '{{ mailtime_yield }}'
  @valid_formats = %w{html text}
end

Public Instance Methods

load_mailers() click to toggle source
# File lib/mailtime/configuration.rb, line 65
def load_mailers
  ObjectSpace.each_object(Class).select { |klass| klass < ::ActionMailer::Base }
end
loggables() click to toggle source
# File lib/mailtime/configuration.rb, line 36
def loggables
  @loggable_lookups.each_with_object({}) do |k,h|
    key = k.keys.first
    h[key] = k[key]
  end
end
mailer(klass) click to toggle source
# File lib/mailtime/configuration.rb, line 32
def mailer(klass)
  @mailers << klass
end
preload_mailers() click to toggle source
# File lib/mailtime/configuration.rb, line 60
def preload_mailers
  Dir.glob(::Rails.root.join("app/mailers/**/*_mailer.rb"))
      .each { |klass| require klass }
end
preload_mailers!() click to toggle source
# File lib/mailtime/configuration.rb, line 56
def preload_mailers!
  preload_mailers
end
valid_extensions() click to toggle source
# File lib/mailtime/configuration.rb, line 52
def valid_extensions
  Mailtime::Renderers::BaseRenderer.descendants.map(&:renders).flatten
end