class Dossier::Configuration

Constants

DB_KEY

Attributes

client[RW]
config_path[RW]

Public Class Methods

new() click to toggle source
# File lib/dossier/configuration.rb, line 11
def initialize
  @config_path = Rails.root.join('config', 'dossier.yml')
  setup_client!
end

Public Instance Methods

connection_options() click to toggle source
# File lib/dossier/configuration.rb, line 16
def connection_options
  yaml_config.merge(dburl_config || {}).presence || raise_empty_conn_config
end
dburl_config() click to toggle source
# File lib/dossier/configuration.rb, line 26
def dburl_config
  Dossier::ConnectionUrl.new.to_hash if ENV.has_key? DB_KEY
end
yaml_config() click to toggle source
# File lib/dossier/configuration.rb, line 20
def yaml_config
  YAML.load(ERB.new(File.read(config_path)).result)[Rails.env].symbolize_keys
rescue Errno::ENOENT
  {}
end

Private Instance Methods

raise_empty_conn_config() click to toggle source
# File lib/dossier/configuration.rb, line 36
def raise_empty_conn_config
  raise ConfigurationMissingError.new(
    "Your connection options are blank, you are missing both #{config_path} and ENV['#{DB_KEY}']"
  )
end
setup_client!() click to toggle source
# File lib/dossier/configuration.rb, line 32
def setup_client!
  @client = Dossier::Client.new(connection_options)
end