Sha256: 74b08fd30599d2aae7a87435021bf545c48e30dce2031e135ef75c4803ebff7d

Contents?: true

Size: 774 Bytes

Versions: 5

Compression:

Stored size: 774 Bytes

Contents

require 'yaml'
module Chutney
  # gherkin_lint configuration object
  class Configuration
    attr_reader :config

    def initialize(path)
      @path = path
      @config = load_configuration || ''
      load_user_configuration
    end

    def configuration_path
      @path
    end

    def load_configuration
      YAML.load_file configuration_path || '' if File.exist? configuration_path
    end

    def load_user_configuration
      config_file = Dir.glob(File.join(Dir.pwd, '**', '.chutney.yml')).first
      merge_config(config_file) if !config_file.nil? && File.exist?(config_file)
    end

    private

    def merge_config(config_file)
      @config.merge!(YAML.load_file(config_file)) { |_k, old, new| old.merge!(new) } unless @config.empty?
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
chutney-1.6.3 lib/chutney/configuration.rb
chutney-1.6.2 lib/chutney/configuration.rb
chutney-1.6.1 lib/chutney/configuration.rb
chutney-1.6.0 lib/chutney/configuration.rb
chutney-0.5.0 lib/chutney/configuration.rb