Sha256: 83d74a79c48d70fe494ad3a6ead62030874d61c7c5700cece1a529e2df05b747

Contents?: true

Size: 686 Bytes

Versions: 3

Compression:

Stored size: 686 Bytes

Contents

require 'erb'
require 'yaml'

module Dossier
  class Configuration

    attr_accessor :config_path, :connection_options, :client

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

    private

    def setup_client!
      @connection_options = YAML.load(ERB.new(File.read(@config_path)).result)[Rails.env].symbolize_keys
      @client = Dossier::Client.new(@connection_options)

    rescue Errno::ENOENT => e
      raise ConfigurationMissingError.new(
        "#{e.message}. #{@config_path} must exist for Dossier to connect to the database."
      )
    end

  end

  class ConfigurationMissingError < StandardError ; end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dossier-2.11.0 lib/dossier/configuration.rb
dossier-2.10.0 lib/dossier/configuration.rb
dossier-2.9.3 lib/dossier/configuration.rb