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)