Sha256: 7968b0e8be7ce9fe4ab74946b97bb75ee88ae9f47219bfb307b58758f95b3372

Contents?: true

Size: 792 Bytes

Versions: 3

Compression:

Stored size: 792 Bytes

Contents

require 'devise/multi_email/email_model_extensions'
require 'devise/multi_email/association_manager'
require 'devise/multi_email/parent_model_manager'

module Devise
  module MultiEmail
    module ParentModelExtensions
      extend ActiveSupport::Concern

      included do
        multi_email_association.configure_autosave!
        multi_email_association.include_module(EmailModelExtensions)
      end

      delegate Devise::MultiEmail.primary_email_method_name, to: :multi_email, allow_nil: false

      def multi_email
        @multi_email ||= ParentModelManager.new(self)
      end

      module ClassMethods
        def multi_email_association
          @multi_email ||= AssociationManager.new(self, Devise::MultiEmail.emails_association_name)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
devise-multi_email-3.0.1 lib/devise/multi_email/parent_model_extensions.rb
devise-multi_email-3.0.0 lib/devise/multi_email/parent_model_extensions.rb
devise-multi_email-2.0.1 lib/devise/multi_email/parent_model_extensions.rb