Module: NineOneOne
- Defined in:
- lib/nine_one_one/http.rb,
lib/nine_one_one.rb,
lib/nine_one_one/errors.rb,
lib/nine_one_one/version.rb,
lib/nine_one_one/notifier.rb,
lib/nine_one_one/log_service.rb,
lib/nine_one_one/configuration.rb,
lib/nine_one_one/slack_service.rb,
lib/nine_one_one/pager_duty_service.rb
Overview
a minimal wrapper around Net::HTTP which encapsulates ugly Net::HTTP errors and throws NineOneOne:Errors instead. The implementation is based on Faraday’s Net::HTTP adapter
Defined Under Namespace
Classes: Configuration, ConfigurationError, ConnectionFailedError, Error, Http, HttpError, IncidentReportingError, LogService, NotConfiguredError, NotificationError, Notifier, PagerDutyService, SSLError, SlackService, TimeoutError
Constant Summary
collapse
- VERSION =
'2.1.0'.freeze
Class Method Summary
collapse
Class Method Details
.configs ⇒ Object
26
27
28
|
# File 'lib/nine_one_one.rb', line 26
def self.configs
@configs ||= {}
end
|
11
12
13
14
15
16
17
18
19
|
# File 'lib/nine_one_one.rb', line 11
def self.configure(type = :default)
config = Configuration.new
yield config
config.validate
configs[type] = config
end
|
.emergency(description, source: Socket.gethostname, dedup_key: nil, severity: PagerDutyService::HIGH_URGENCY_ERROR, details_hash: nil) ⇒ Object
30
31
32
33
34
|
# File 'lib/nine_one_one.rb', line 30
def self.emergency(description, source: Socket.gethostname, dedup_key: nil,
severity: PagerDutyService::HIGH_URGENCY_ERROR, details_hash: nil)
use(:default).emergency(description, source: source, dedup_key: dedup_key, severity: severity,
details_hash: details_hash)
end
|
.emergency_service ⇒ Object
48
49
50
|
# File 'lib/nine_one_one.rb', line 48
def self.emergency_service
use(:default).emergency_service
end
|
.notification_service ⇒ Object
44
45
46
|
# File 'lib/nine_one_one.rb', line 44
def self.notification_service
use(:default).notification_service
end
|
.notify(message) ⇒ Object
40
41
42
|
# File 'lib/nine_one_one.rb', line 40
def self.notify(message)
use(:default).notify(message)
end
|
.resolve_emergency(dedup_key) ⇒ Object
36
37
38
|
# File 'lib/nine_one_one.rb', line 36
def self.resolve_emergency(dedup_key)
use(:default).resolve_emergency(dedup_key)
end
|
.use(type = :default) ⇒ Object
21
22
23
24
|
# File 'lib/nine_one_one.rb', line 21
def self.use(type = :default)
config = configs.fetch(type) { raise NotConfiguredError, "Configuration type=#{type} is not configured." }
Notifier.new(config)
end
|