require "chef/provider/file"

class Chef
  class Provider
    class RemoteFile < Chef::Provider::File
      provides :remote_file

      def initialize(new_resource, run_context)
        @content_class = Chef::Provider::RemoteFile::Content
        super
      end

      def load_current_resource
        @current_resource = Chef::Resource::RemoteFile.new(new_resource.name)
        super
      end

      private

      def managing_content?
        return true if new_resource.checksum
        return true if !new_resource.source.nil? && @action != :create_if_missing
        false
      end

    end
  end
end
