Module: Chef::Deprecation::Provider::RemoteFile
- Included in:
- Provider::RemoteFile
- Defined in:
- lib/chef/deprecation/provider/remote_file.rb
Overview
Deprecation::Provider::RemoteFile
This module contains the deprecated functions of Chef::Provider::RemoteFile. These functions are refactored to different components. They are frozen and will be removed in Chef 13.
Instance Method Summary collapse
- #backup_new_resource ⇒ Object
- #current_resource_matches_target_checksum? ⇒ Boolean
- #http_client_opts(source) ⇒ Object
- #matches_current_checksum?(candidate_file) ⇒ Boolean
- #source_file(source, current_checksum, &block) ⇒ Object
Instance Method Details
#backup_new_resource ⇒ Object
49 50 51 52 53 54 |
# File 'lib/chef/deprecation/provider/remote_file.rb', line 49 def backup_new_resource if ::File.exists?(@new_resource.path) Chef::Log.debug "#{@new_resource} checksum changed from #{@current_resource.checksum} to #{@new_resource.checksum}" backup @new_resource.path end end |
#current_resource_matches_target_checksum? ⇒ Boolean
30 31 32 |
# File 'lib/chef/deprecation/provider/remote_file.rb', line 30 def current_resource_matches_target_checksum? @new_resource.checksum && @current_resource.checksum && @current_resource.checksum =~ /^#{Regexp.escape(@new_resource.checksum)}/ end |
#http_client_opts(source) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/chef/deprecation/provider/remote_file.rb', line 66 def http_client_opts(source) opts = {} # CHEF-3140 # 1. If it's already compressed, trying to compress it more will # probably be counter-productive. # 2. Some servers are misconfigured so that you GET $URL/file.tgz but # they respond with content type of tar and content encoding of gzip, # which tricks Chef::REST into decompressing the response body. In this # case you'd end up with a tar archive (no gzip) named, e.g., foo.tgz, # which is not what you wanted. if @new_resource.path =~ /gz$/ || source =~ /gz$/ opts[:disable_gzip] = true end opts end |
#matches_current_checksum?(candidate_file) ⇒ Boolean
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/chef/deprecation/provider/remote_file.rb', line 34 def matches_current_checksum?(candidate_file) Chef::Log.debug "#{@new_resource} checking for file existence of #{@new_resource.path}" if ::File.exists?(@new_resource.path) Chef::Log.debug "#{@new_resource} file exists at #{@new_resource.path}" @new_resource.checksum(checksum(candidate_file.path)) Chef::Log.debug "#{@new_resource} target checksum: #{@current_resource.checksum}" Chef::Log.debug "#{@new_resource} source checksum: #{@new_resource.checksum}" @new_resource.checksum == @current_resource.checksum else Chef::Log.debug "#{@new_resource} creating #{@new_resource.path}" false end end |
#source_file(source, current_checksum, &block) ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/chef/deprecation/provider/remote_file.rb', line 56 def source_file(source, current_checksum, &block) if absolute_uri?(source) fetch_from_uri(source, &block) elsif !Chef::Config[:solo_legacy_mode] fetch_from_chef_server(source, current_checksum, &block) else fetch_from_local_cookbook(source, &block) end end |