Sha256: 2bc85b6f6ab72d08d05b5ccdec6f94d069ce6cea071e58299b6d4d34e2661af5

Contents?: true

Size: 1.58 KB

Versions: 43

Compression:

Stored size: 1.58 KB

Contents

module Alchemy
  class Config

    class << self

      # Returns the configuration for given parameter name from +config/alchemy/config.yml+ file.
      def get(name)
        show[name.to_s]
      end

      alias_method :parameter, :get

      # Returns the complete configuration from +config/alchemy/config.yml+ file.
      def show
        @@config ||= read_files
      end

      private

      def read_files
        # Looking for any Rails Environment specific configuration
        if File.exists? "#{Rails.root.to_s}/config/alchemy/config_#{Rails.env}.yml"
          config_1 = YAML.load_file("#{Rails.root.to_s}/config/alchemy/config_#{Rails.env}.yml")
        else
          config_1 = {}
        end

        # Looking for Application specific configuration
        if File.exists? "#{Rails.root.to_s}/config/alchemy/config.yml"
          config_2 = YAML.load_file("#{Rails.root.to_s}/config/alchemy/config.yml")
        else
          config_2 = {}
        end

        # Reading Alchemy standard configuration
        if File.exists? File.join(File.dirname(__FILE__), '..', '..', 'config/alchemy/config.yml')
          config_3 = YAML.load_file(File.join(File.dirname(__FILE__), '..', '..', 'config/alchemy/config.yml'))
        else
          config_3 = {}
        end

        # Mergin all together
        if config_1.blank? && config_3.blank? && config_3.blank?
          raise LoadError, 'No Alchemy config file found!'
        else
          [config_1, config_2, config_3].map(&:stringify_keys!)
          return config_3.merge(config_2.merge(config_1))
        end
      end

    end

  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
alchemy_cms-2.6.3 lib/alchemy/config.rb
alchemy_cms-2.6.2.1 lib/alchemy/config.rb
alchemy_cms-2.6.2 lib/alchemy/config.rb
alchemy_cms-2.6.1 lib/alchemy/config.rb
alchemy_cms-2.6.0 lib/alchemy/config.rb
alchemy_cms-2.6.0.rc5 lib/alchemy/config.rb
alchemy_cms-2.5.3.1 lib/alchemy/config.rb
alchemy_cms-2.5.3 lib/alchemy/config.rb
alchemy_cms-2.5.2.2 lib/alchemy/config.rb
alchemy_cms-2.5.2.1 lib/alchemy/config.rb
alchemy_cms-2.5.2 lib/alchemy/config.rb
alchemy_cms-2.5.1 lib/alchemy/config.rb
alchemy_cms-2.5.0 lib/alchemy/config.rb
alchemy_cms-2.5.0.rc3 lib/alchemy/config.rb
alchemy_cms-2.5.0.b9 lib/alchemy/config.rb
alchemy_cms-2.3.2 lib/alchemy/config.rb
alchemy_cms-2.2.4 lib/alchemy/config.rb
alchemy_cms-2.4.1 lib/alchemy/config.rb
alchemy_cms-2.5.0.b5 lib/alchemy/config.rb
alchemy_cms-2.5.0.b2 lib/alchemy/config.rb