class NineOneOne::Configuration
Attributes
logger[RW]
pager_duty_integration_key[RW]
send_pagers[RW]
slack_channel[RW]
slack_enabled[RW]
slack_username[RW]
slack_webhook_url[RW]
Public Class Methods
new()
click to toggle source
# File lib/nine_one_one/configuration.rb, line 9 def initialize self.send_pagers = false self.slack_enabled = false self.logger = Logger.new(STDOUT) end
Public Instance Methods
validate()
click to toggle source
# File lib/nine_one_one/configuration.rb, line 15 def validate validate_send_pagers validate_logger validate_pager_duty_key validate_slack_enabled validate_slack_opts end
Private Instance Methods
validate_logger()
click to toggle source
rubocop:disable Style/GuardClause
# File lib/nine_one_one/configuration.rb, line 32 def validate_logger raise ConfigurationError, "Logger: #{logger.class} doesn't respond to #error" unless logger.respond_to?(:error) raise ConfigurationError, "Logger: #{logger.class} doesn't respond to #info" unless logger.respond_to?(:info) end
validate_pager_duty_key()
click to toggle source
# File lib/nine_one_one/configuration.rb, line 37 def validate_pager_duty_key return true unless send_pagers if pager_duty_integration_key.nil? || pager_duty_integration_key.empty? raise ConfigurationError, "Missing 'pager_duty_integration_key' parameter" end end
validate_send_pagers()
click to toggle source
# File lib/nine_one_one/configuration.rb, line 25 def validate_send_pagers raise ConfigurationError, "Illegal 'send_pagers' value: #{send_pagers}" unless [true, false].include?(send_pagers) raise ConfigurationError, "'send_pagers' is false but no logger given" if !send_pagers && logger.nil? end
validate_slack_enabled()
click to toggle source
# File lib/nine_one_one/configuration.rb, line 45 def validate_slack_enabled unless [true, false].include?(slack_enabled) raise ConfigurationError, "Illegal 'slack_enabled' value: #{slack_enabled}" end if slack_enabled && (slack_webhook_url.nil? || slack_webhook_url.empty?) raise ConfigurationError, 'Incorrect Slack webhook URL' end end
validate_slack_opts()
click to toggle source
# File lib/nine_one_one/configuration.rb, line 55 def validate_slack_opts unless slack_username.nil? || slack_username.is_a?(String) raise ConfigurationError, "Illegal 'slack_username' value: #{slack_username}" end unless slack_channel.nil? || slack_channel.is_a?(String) raise ConfigurationError, "Illegal 'slack_channel' value: #{slack_channel}" end end