Class: Technologic::Setup

Inherits:
Object
  • Object
show all
Defined in:
lib/technologic/setup.rb

Class Method Summary collapse

Class Method Details

.for(application) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/technologic/setup.rb', line 6

def for(application)
  technologic_config = application.config.technologic

  setup_subscribers(technologic_config)
  setup_loggers(technologic_config)
  warn_duration_unit_not_set(technologic_config)
end

.setup_loggers(config) ⇒ Object (private)



24
25
26
27
28
29
30
# File 'lib/technologic/setup.rb', line 24

def setup_loggers(config)
  Technologic::FatalSubscriber.on_event { |e| Technologic::Logger.log(:fatal, e) } if config.log_fatal_events
  Technologic::ErrorSubscriber.on_event { |e| Technologic::Logger.log(:error, e) } if config.log_error_events
  Technologic::WarnSubscriber.on_event { |e| Technologic::Logger.log(:warn, e) } if config.log_warn_events
  Technologic::InfoSubscriber.on_event { |e| Technologic::Logger.log(:info, e) } if config.log_info_events
  Technologic::DebugSubscriber.on_event { |e| Technologic::Logger.log(:debug, e) } if config.log_debug_events
end

.setup_subscribers(config) ⇒ Object (private)



16
17
18
19
20
21
22
# File 'lib/technologic/setup.rb', line 16

def setup_subscribers(config)
  ActiveSupport::Notifications.subscribe(%r{\.fatal$}, Technologic::FatalSubscriber) if config.subscribe_to_fatal
  ActiveSupport::Notifications.subscribe(%r{\.error$}, Technologic::ErrorSubscriber) if config.subscribe_to_error
  ActiveSupport::Notifications.subscribe(%r{\.warn$}, Technologic::WarnSubscriber) if config.subscribe_to_warn
  ActiveSupport::Notifications.subscribe(%r{\.info$}, Technologic::InfoSubscriber) if config.subscribe_to_info
  ActiveSupport::Notifications.subscribe(%r{\.debug$}, Technologic::DebugSubscriber) if config.subscribe_to_debug
end

.warn_duration_unit_not_set(config) ⇒ Object (private)



32
33
34
35
36
# File 'lib/technologic/setup.rb', line 32

def warn_duration_unit_not_set(config)
  return if config.__send__(:log_duration_in_ms_set_explicitly?)

  warn "WARNING: Technologic.log_duration_in_ms is not set. In a future version of Technologic, the default value will change from false to true. To maintain existing behavior, set `application.config.technologic.log_duration_in_ms = false` explicitly."
end