Class: Devise::MultiEmail::AssociationManager

Inherits:
Object
  • Object
show all
Defined in:
lib/devise/multi_email/association_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, association_name) ⇒ AssociationManager

Returns a new instance of AssociationManager.



8
9
10
11
# File 'lib/devise/multi_email/association_manager.rb', line 8

def initialize(klass, association_name)
  @klass = klass
  @name = association_name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/devise/multi_email/association_manager.rb', line 6

def name
  @name
end

Instance Method Details

#include_module(mod) ⇒ Object



13
14
15
# File 'lib/devise/multi_email/association_manager.rb', line 13

def include_module(mod)
  model_class.__send__ :include, mod
end

#model_classObject



17
18
19
20
21
22
23
# File 'lib/devise/multi_email/association_manager.rb', line 17

def model_class
  unless reflection
    raise "#{@klass}##{name} association not found: It might be because your declaration is after `devise :multi_email_confirmable`."
  end

  @model_class ||= reflection.class_name.constantize
end

#reflectionObject



25
26
27
# File 'lib/devise/multi_email/association_manager.rb', line 25

def reflection
  @reflection ||= @klass.reflect_on_association(name)
end