Module: Devise

Defined in:
lib/devise/eventable.rb,
lib/devise/eventable/version.rb,
lib/devise/eventable/models/eventable.rb

Defined Under Namespace

Modules: Eventable, Models

Constant Summary collapse

@@events =
{}

Class Method Summary collapse

Class Method Details

.fire_event(event, val = nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/devise/eventable.rb', line 18

def self.fire_event(event, val = nil)
  return unless Devise.events[event]
  Devise.events[event].each do |block|
    begin
      block.call(val)
    rescue => e
      Rails.logger.error "[Devise] Eventable.fire_event - #{e.message}" if Rails.logger
      Rails.logger.error "[Devise] Eventable.fire_event - #{e.backtrace.inspect}" if Rails.logger
    end
  end
end

.on(event, &block) ⇒ Object



13
14
15
16
# File 'lib/devise/eventable.rb', line 13

def self.on(event, &block)
  @@events[event] = [] unless @@events.key?(event)
  @@events[event] << block
end