Module: Err
- Defined in:
- lib/err.rb,
lib/err/version.rb,
lib/err/configuration.rb,
lib/err/services/opbeat.rb,
lib/err/services/service.rb,
lib/err/services/airbrake.rb,
lib/err/services/honeybadger.rb
Defined Under Namespace
Modules: Configuration
Classes: Airbrake, Honeybadger, Opbeat, Service
Constant Summary
collapse
- VERSION =
"0.0.2"
Class Method Summary
collapse
Class Method Details
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/err.rb', line 9
def configure(service_key = nil, &block)
if service_key
service = find_service_by_key(service_key)
raise "Service #{service_key.inspect} not found" unless service
service.configure(&block) if service.enabled?
else
yield config
end
setup!
end
|
.enabled_services ⇒ Object
38
39
40
|
# File 'lib/err.rb', line 38
def enabled_services
services.select(&:enabled?)
end
|
.find_service_by_key(key) ⇒ Object
42
43
44
|
# File 'lib/err.rb', line 42
def find_service_by_key(key)
services.find { |s| s.key == key.to_s }
end
|
.message(msg, params = {}) ⇒ Object
24
25
26
|
# File 'lib/err.rb', line 24
def message(msg, params = {})
call_each_service :message, msg, params
end
|
.notify(exception, params = {}) ⇒ Object
20
21
22
|
# File 'lib/err.rb', line 20
def notify(exception, params = {})
call_each_service :notify, exception, params
end
|
.services ⇒ Object
34
35
36
|
# File 'lib/err.rb', line 34
def services
@services ||= ObjectSpace.each_object(Class).select { |klass| klass < Err::Service }
end
|
.setup! ⇒ Object
28
29
30
31
32
|
# File 'lib/err.rb', line 28
def setup!
[:development_environments, :ignore].each do |method|
call_each_service "#{method}=", config.send(method)
end
end
|