Sha256: 59aa3dd63a8f31c940814975c877a3e0abb4b8128664899a0df0c3a1c16922c3
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
require 'yaml' module Nadir class Config attr_accessor :api_key, :api_url, :env, :logger, :root, :enabled_for, :filtered_params def initialize @env = ENV['NADIR_ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] @api_key = ENV['NADIR_API_KEY'] @api_url = 'https://nadir.dev/api'.freeze @enabled_for = %w(production staging) @logger = Logger.new(STDOUT) @filtered_params = %i(password credit_card secret http_cookie) end def validate unless @api_key logger.warn '[Nadir] API-KEY not set, skipping notifications.' return false end unless @enabled_for.include? @env.to_s logger.warn "[Nadir] Reporting disabled for environment '#{@env}', skipping notification." return false end true end def load_for(app) @env ||= Rails.env @root = app.root config_file = @root.join 'config/nadir.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'] rescue => e @logger.warn "Unable to load Nadir configuration. Please ensure that the file 'config/nadir.yml' exists and contains your API key." end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nadir-1.0.2 | lib/nadir/config.rb |