class Erorr::Config

Attributes

api_key[RW]
api_url[RW]
enabled_for[RW]
env[RW]
logger[RW]
root[RW]

Public Class Methods

new() click to toggle source
# File lib/erorr/config.rb, line 12
def initialize
  @env         = ENV['ERORR_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV']
  @api_key     = ENV['ERORR_API_KEY']
  @api_url     = 'https://erorr.app/api'.freeze
  @enabled_for = %w(production staging)

  @logger      = Logger.new(STDOUT)
end

Public Instance Methods

load_for(app) click to toggle source
# File lib/erorr/config.rb, line 37
def load_for(app)
  @env  ||= Rails.env
  @root   = app.root

  config_file = @root.join 'config/erorr.yml'

  file_config = YAML.safe_load File.read config_file

  @api_key     = file_config['api_key'] if file_config['api_key']
  @api_url     = file_config['api_url'] if file_config['api_url']
  @enabled_for = file_config['enabled_for'] if file_config['enabled_for']
end
validate() click to toggle source
# File lib/erorr/config.rb, line 21
def validate
  unless @api_key
    logger.warn '[erorr] API-KEY not set, skipping notifications.'

    return false
  end

  unless @enabled_for.include? @env.to_s
    logger.warn "[erorr] Reporting disabled for environment '#{@env}', skipping notification."

    return false
  end

  true
end