class SmokeDetector::Providers::Provider

Attributes

client_settings[R]
controller_proc[RW]

Public Class Methods

new(api_key, client_settings = {}, settings = {}) click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 7
def initialize(api_key, client_settings = {}, settings = {})
  @client_settings = client_settings || {}
  @client_api_key  = @client_settings[:api_key]
end

Public Instance Methods

alert(exception, options = {}) click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 12
def alert(exception, options = {})
  raise NotImplementedError
end
client_monitoring_code() click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 20
def client_monitoring_code
  ''
end
default_client_settings() click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 24
def default_client_settings
  {}
end
message(message, options = {}) click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 16
def message(message, options = {})
  raise NotImplementedError
end

Private Instance Methods

apply_configuration_settings(configuration, settings) click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 34
def apply_configuration_settings(configuration, settings)
  settings.each do |setting, value|
    if configuration.respond_to?("#{setting}=")
      configuration.send("#{setting}=", value)
    elsif configuration.respond_to?(setting.to_sym) && value
      configuration.send(setting.to_sym)
    else
      raise(ArgumentError, "#{setting} is not a valid #{self.class.name} configuration setting")
    end
  end
end
client_api_key() click to toggle source
# File lib/smoke_detector/providers/provider.rb, line 30
def client_api_key
  @client_api_key
end