Sha256: c5e54c81c20beb2d4763480fc0178a2a886d6e365776c37b197c525d428fb445

Contents?: true

Size: 747 Bytes

Versions: 7

Compression:

Stored size: 747 Bytes

Contents

# frozen_string_literal: true
require 'erb'

module Dolly
  module Configuration
    attr_writer :config_file

    def env
      @env ||= configuration[db.to_s]
    end

    def base_uri
      "#{protocol}#{host}#{port}"
    end

    def protocol
      "#{env['protocol']}://"
    end

    def host
      env['host']
    end

    def port
      return unless env['port']
      ":#{env['port']}"
    end

    def db_name
      env['name']
    end

    def configuration
      @config_data ||= File.read(config_file)
      raise Dolly::InvalidConfigFileError if @config_data&.empty?
      YAML::load(ERB.new(@config_data).result)[app_env.to_s]
    end

    def config_file
      @config_file ||= File.join('config', 'couchdb.yml')
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dolly-3.1.4 lib/dolly/configuration.rb
dolly-3.1.3 lib/dolly/configuration.rb
dolly-3.1.2 lib/dolly/configuration.rb
dolly-3.1.1 lib/dolly/configuration.rb
dolly-3.1.0 lib/dolly/configuration.rb
dolly-3.0.1 lib/dolly/configuration.rb
dolly-3.0.0 lib/dolly/configuration.rb