Sha256: 836d6285d0b1482a68a69783f78b8b91b423c90e6de69ab77f0ff87a9640f0df

Contents?: true

Size: 1.14 KB

Versions: 14

Compression:

Stored size: 1.14 KB

Contents

module Climatic
  module ConfigLayers

    class UserLayer < Climatic::ConfigLayers::GenericLayer


      def self.user_config_root
        Dir.home
      end

      def user_config_root
        self.class.user_config_root
      end


      def possible_sources
        [
            ['##USER_CONFIG_ROOT##', '.##PROGRAM_NAME##.##EXTENSION##' ],
            ['##USER_CONFIG_ROOT##', '.config', '##PROGRAM_NAME##.##EXTENSION##' ],
            ['##USER_CONFIG_ROOT##', '.config', '##PROGRAM_NAME##', 'config.##EXTENSION##' ],
            ['##USER_CONFIG_ROOT##', '.config', '##PROGRAM_NAME##', '##PROGRAM_NAME##.##EXTENSION##' ],
            ['##USER_CONFIG_ROOT##', '.##PROGRAM_NAME##', 'config.##EXTENSION##' ],
            ['##USER_CONFIG_ROOT##', '.##PROGRAM_NAME##', '##PROGRAM_NAME##.##EXTENSION##' ]
        ]
      end

      def perform_substitutions path_part
        res = path_part.dup
        res.gsub! '##USER_CONFIG_ROOT##', user_config_root

        exec_name = manager.nil? ? Climatic::LayersManager.default_config_file_base_name : manager.config_file_base_name
        res.gsub! '##PROGRAM_NAME##', exec_name

        res
      end

    end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
climatic-0.2.40 lib/climatic/config_layers/user_layer.rb
climatic-0.2.39 lib/climatic/config_layers/user_layer.rb
climatic-0.2.38 lib/climatic/config_layers/user_layer.rb
climatic-0.2.37 lib/climatic/config_layers/user_layer.rb
climatic-0.2.36 lib/climatic/config_layers/user_layer.rb
climatic-0.2.35 lib/climatic/config_layers/user_layer.rb
climatic-0.2.34 lib/climatic/config_layers/user_layer.rb
climatic-0.2.32 lib/climatic/config_layers/user_layer.rb
climatic-0.2.31 lib/climatic/config_layers/user_layer.rb
climatic-0.2.30 lib/climatic/config_layers/user_layer.rb
climatic-0.2.29 lib/climatic/config_layers/user_layer.rb
climatic-0.2.28 lib/climatic/config_layers/user_layer.rb
climatic-0.2.27 lib/climatic/config_layers/user_layer.rb
climatic-0.2.26 lib/climatic/config_layers/user_layer.rb