Module: Chef::Mixin::GetSourceFromPackage
- Included in:
- Provider::Package::Bff, Provider::Package::Dnf, Provider::Package::Freebsd::Base, Provider::Package::Openbsd, Provider::Package::Rpm, Provider::Package::Rubygems, Provider::Package::Solaris, Provider::Package::Yum
- Defined in:
- lib/chef/mixin/get_source_from_package.rb
Instance Method Summary collapse
-
#initialize(new_resource, run_context) ⇒ Object
FIXME: this is some bad code that I wrote a long time ago.
Instance Method Details
#initialize(new_resource, run_context) ⇒ Object
FIXME: this is some bad code that I wrote a long time ago.
- it does too much in the initializer
- it mutates the new_resource
- it does not support multipackage arrays
this code is deprecated, check out the :use_package_names_for_source subclass directive instead
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/chef/mixin/get_source_from_package.rb', line 35 def initialize(new_resource, run_context) super return if new_resource.package_name.is_a?(Array) # if we're passed something that looks like a filesystem path, with no source, use it # - require at least one '/' in the path to avoid gem_package "foo" breaking if a file named 'foo' exists in the cwd if new_resource.source.nil? && new_resource.package_name.match(/#{::File::SEPARATOR}/) && ::File.exist?(new_resource.package_name) Chef::Log.trace("No package source specified, but #{new_resource.package_name} exists on the filesystem, copying to package source") new_resource.source(new_resource.package_name) end end |