Module: Rollwire::Notifier

Defined in:
lib/rollwire/notifier.rb

Class Method Summary collapse

Class Method Details

.call(report) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/rollwire/notifier.rb', line 9

def call(report)
  case report.mode
  when :log
    log(report)
  when :notify
    ActiveSupport::Notifications.instrument(Report::EVENT_NAME, report: report)
  when :raise
    raise IgnoredNestedRollback, report
  end
end

.log(report) ⇒ Object



20
21
22
23
24
# File 'lib/rollwire/notifier.rb', line 20

def log(report)
  logger = Rollwire.configuration.logger
  logger ||= Rails.logger if defined?(Rails) && Rails.respond_to?(:logger)
  logger ? logger.warn(report.to_s) : Kernel.warn(report.to_s)
end