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/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, NotificationError, PagerDutyService, SSLError, SlackService, TimeoutError
Constant Summary
collapse
- VERSION =
'0.2.0'.freeze
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
37
38
39
|
# File 'lib/nine_one_one.rb', line 37
def self.config
@config ||= Configuration.new
end
|
27
28
29
30
31
32
33
34
35
|
# File 'lib/nine_one_one.rb', line 27
def self.configure
config = Configuration.new
yield config
config.validate
@config = config
end
|
.emergency(incident_key, description, details_hash = nil) ⇒ Object
41
42
43
|
# File 'lib/nine_one_one.rb', line 41
def self.emergency(incident_key, description, details_hash = nil)
emergency_service.trigger_event(incident_key, description, details_hash)
end
|
.emergency_service ⇒ Object
10
11
12
13
14
15
16
|
# File 'lib/nine_one_one.rb', line 10
def self.emergency_service
if config.
PagerDutyService.new(config.)
else
LogService.new(config.logger)
end
end
|
.notification_service ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'lib/nine_one_one.rb', line 18
def self.notification_service
if config.slack_enabled
SlackService.new(config.slack_webhook_url, username: config.slack_username,
channel: config.slack_channel)
else
LogService.new(config.logger)
end
end
|
.notify(message) ⇒ Object
45
46
47
|
# File 'lib/nine_one_one.rb', line 45
def self.notify(message)
notification_service.notify(message)
end
|