Class: Chef::Provider::RemoteFile::Fetcher

Inherits:
Object
  • Object
show all
Defined in:
lib/chef/provider/remote_file/fetcher.rb

Class Method Summary collapse

Class Method Details

.for_resource(uri, new_resource, current_resource) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/chef/provider/remote_file/fetcher.rb', line 25

def self.for_resource(uri, new_resource, current_resource)
  case uri.scheme
  when "http", "https"
    Chef::Provider::RemoteFile::HTTP.new(uri, new_resource, current_resource)
  when "ftp"
    Chef::Provider::RemoteFile::FTP.new(uri, new_resource, current_resource)
  when "file"
    Chef::Provider::RemoteFile::LocalFile.new(uri, new_resource, current_resource)
  else
    raise ArgumentError, "Invalid uri, Only http(s), ftp, and file are currently supported"
  end
end