Class: Dossier::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/dossier/configuration.rb

Constant Summary collapse

DB_KEY =
'DATABASE_URL'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



11
12
13
14
# File 'lib/dossier/configuration.rb', line 11

def initialize
  @config_path = Rails.root.join('config', 'dossier.yml')
  setup_client!
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



9
10
11
# File 'lib/dossier/configuration.rb', line 9

def client
  @client
end

#config_pathObject

Returns the value of attribute config_path.



9
10
11
# File 'lib/dossier/configuration.rb', line 9

def config_path
  @config_path
end

Instance Method Details

#connection_optionsObject



16
17
18
# File 'lib/dossier/configuration.rb', line 16

def connection_options
  yaml_config.merge(dburl_config || {}).presence || raise_empty_conn_config
end

#dburl_configObject



26
27
28
# File 'lib/dossier/configuration.rb', line 26

def dburl_config
  Dossier::ConnectionUrl.new.to_hash if ENV.has_key? DB_KEY
end

#yaml_configObject



20
21
22
23
24
# 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