lib/fig/environment.rb in fig-0.1.12 vs lib/fig/environment.rb in fig-0.1.13

- old
+ new

@@ -72,19 +72,34 @@ def include_config(base_package, package_name, config_name, version_name) package = lookup_package(package_name || base_package.package_name, version_name) apply_config(package, config_name || "default") end + def direct_retrieve(package_name, source_path, target_path) + package = lookup_package(package_name, nil) + FileUtils.mkdir_p(target_path) + FileUtils.cp_r(File.join(package.directory, source_path, '.'), target_path) + end + private def set_variable(base_package, name, value) @variables[name] = expand_value(base_package, name, value) end def append_variable(base_package, name, value) value = expand_value(base_package, name, value) - prev = @variables[name] + # TODO: converting all environment variables to upcase is not a robust + # comparison. It also assumes all env vars will be in upcase + # in package.fig + prev = nil + @variables.each do |key, val| + if key.upcase == name.upcase + name = key + prev = val + end + end if prev @variables[name] = value + File::PATH_SEPARATOR + prev else @variables[name] = value end @@ -97,10 +112,9 @@ yield ensure old_env.each { |key,value| ENV[key] = value } end end - def lookup_package(package_name, version_name) package = @packages[package_name] if package.nil? package = @repository.load_package(package_name, version_name || DEFAULT_VERSION_NAME)