# File lib/puppet/configurer/downloader.rb, line 28 def initialize(name, path, source, ignore = nil, environment = nil) @name, @path, @source, @ignore, @environment = name, path, source, ignore, environment end
# File lib/puppet/configurer/downloader.rb, line 32 def catalog catalog = Puppet::Resource::Catalog.new catalog.host_config = false catalog.add_resource(file) catalog.environment = @environment catalog end
Evaluate our download, returning the list of changed values.
# File lib/puppet/configurer/downloader.rb, line 8 def evaluate Puppet.info "Retrieving #{name}" files = [] begin ::Timeout.timeout(Puppet[:configtimeout]) do catalog.apply do |trans| trans.changed?.find_all do |resource| yield resource if block_given? files << resource[:path] end end end rescue Puppet::Error, Timeout::Error => detail Puppet.log_exception(detail, "Could not retrieve #{name}: #{detail}") end files end
# File lib/puppet/configurer/downloader.rb, line 40 def file args = default_arguments.merge(:path => path, :source => source) args[:ignore] = ignore.split if ignore Puppet::Type.type(:file).new(args) end