class Devise::MultiEmail::AssociationManager

Attributes

name[R]

Public Class Methods

new(klass, association_name) click to toggle source
# File lib/devise/multi_email/association_manager.rb, line 8
def initialize(klass, association_name)
  @klass = klass
  @name = association_name
end

Public Instance Methods

autosave_enabled?() click to toggle source
# File lib/devise/multi_email/association_manager.rb, line 29
def autosave_enabled?
  reflection.options[:autosave] == true
end
configure_autosave!() { || ... } click to toggle source

Specify a block with alternative behavior which should be run when `autosave` is not enabled.

# File lib/devise/multi_email/association_manager.rb, line 19
def configure_autosave!(&block)
  unless autosave_enabled?
    if Devise::MultiEmail.autosave_emails?
      reflection.autosave = true
    else
      yield if block_given?
    end
  end
end
include_module(mod) click to toggle source
# File lib/devise/multi_email/association_manager.rb, line 13
def include_module(mod)
  model_class.__send__ :include, mod
end
model_class() click to toggle source
# File lib/devise/multi_email/association_manager.rb, line 33
def model_class
  @model_class ||= reflection.class_name.constantize
end
reflection() click to toggle source
# File lib/devise/multi_email/association_manager.rb, line 37
def reflection
  @reflection ||= @klass.reflect_on_association(name) ||
                  raise("#{@klass}##{name} association not found: It might be because your declaration is after `devise :multi_email_confirmable`.")
end