Sha256: 38da18d1fa000ceffe20f30ce35ec09a46b6f1c74c20ea213e1ab0c753e02fe6

Contents?: true

Size: 836 Bytes

Versions: 6

Compression:

Stored size: 836 Bytes

Contents

# frozen_string_literal: true

module Anyway
  class Config # :nodoc:
    class << self
      def defaults
        return unless @defaults
        @defaults_wia ||= @defaults.with_indifferent_access
      end
    end

    def load_from_sources(config = {})
      config = config.with_indifferent_access
      load_from_file(config)
      load_from_secrets(config)
      load_from_env(config)
    end

    def load_from_file(config)
      config_path = Rails.root.join("config", "#{@config_name}.yml")
      if File.file? config_path
        config.deep_merge!(parse_yml(config_path)[Rails.env] || {})
      end
      config
    end

    def load_from_secrets(config)
      if Rails.application.respond_to?(:secrets)
        config.deep_merge!(Rails.application.secrets.send(@config_name) || {})
      end
      config
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
anyway_config-1.1.2 lib/anyway/rails/config.rb
anyway_config-1.1.1 lib/anyway/rails/config.rb
anyway_config-1.1.0 lib/anyway/rails/config.rb
anyway_config-1.0.0 lib/anyway/rails/config.rb
anyway_config-1.0.0.rc1 lib/anyway/rails/config.rb
anyway_config-0.5.1.rc1 lib/anyway/rails/config.rb