class CukeFig

Public Instance Methods

config() click to toggle source
# File lib/cuke_fig.rb, line 31
def config
  self
end
method_missing(mid, *args) click to toggle source
# File lib/cuke_fig.rb, line 41
def method_missing(mid, *args)
  @global_config.send(mid, *args)
end
setup(common, environment: nil, env_configs: nil, override: nil) click to toggle source
# File lib/cuke_fig.rb, line 35
def setup(common, environment: nil, env_configs: nil, override: nil)
  env_config = env_configs[environment] unless env_configs.nil? || environment.nil?
  config_files = expand_config_files common, env_config: env_config, override: override
  load(config_files)
end

Private Instance Methods

expand_config_files(common, env_config: nil, override: nil) click to toggle source
# File lib/cuke_fig.rb, line 47
def expand_config_files(common, env_config: nil, override: nil)
  expanded = []
  expanded.concat Dir.glob(File.join(Dir.pwd, common)) unless common.nil?
  expanded.concat Dir.glob(File.join(Dir.pwd, env_config)) unless env_config.nil?
  expanded.concat Dir.glob(File.join(Dir.pwd, override)) unless override.nil?
  expanded
end
load(conf_files) click to toggle source
# File lib/cuke_fig.rb, line 55
def load(conf_files)
  conf_files = [conf_files] unless conf_files.is_a? Array
  conf_hash = Hash.new
  conf_files.each do |conf|
    new_hash = { File.basename(conf, '.yml').gsub('-', '_').to_sym => YAML.load_file(conf) }
    conf_hash.merge!(new_hash)
  end
  @global_config = conf_hash.to_openstruct
end