summaryrefslogtreecommitdiff
path: root/lib/chef/provider/remote_file.rb
diff options
context:
space:
mode:
authorEzra Zygmuntowicz <ez@engineyard.com>2008-10-08 14:19:52 -0700
committerEzra Zygmuntowicz <ez@engineyard.com>2008-10-08 14:19:52 -0700
commitc5d33c1298834ce40b8fbf344f281045771b5371 (patch)
tree1f0d4c7eab1eb379b544282a7ce48052acf719a5 /lib/chef/provider/remote_file.rb
parent3d14601aea23dee3899d097324875274da419d84 (diff)
downloadchef-c5d33c1298834ce40b8fbf344f281045771b5371.tar.gz
big refactor of the repo layout. move to a chef gem and a chef-server gem all with proper deps
Diffstat (limited to 'lib/chef/provider/remote_file.rb')
-rw-r--r--lib/chef/provider/remote_file.rb80
1 files changed, 0 insertions, 80 deletions
diff --git a/lib/chef/provider/remote_file.rb b/lib/chef/provider/remote_file.rb
deleted file mode 100644
index cc0812346e..0000000000
--- a/lib/chef/provider/remote_file.rb
+++ /dev/null
@@ -1,80 +0,0 @@
-#
-# Author:: Adam Jacob (<adam@hjksolutions.com>)
-# Copyright:: Copyright (c) 2008 HJK Solutions, LLC
-# License:: Apache License, Version 2.0
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-require File.join(File.dirname(__FILE__), "file")
-require 'uri'
-require 'tempfile'
-require 'net/https'
-
-class Chef
- class Provider
- class RemoteFile < Chef::Provider::File
-
- def action_create
- Chef::Log.debug("Checking #{@new_resource} for changes")
- do_remote_file(@new_resource.source, @current_resource.path)
- end
-
- def do_remote_file(source, path)
- r = Chef::REST.new(Chef::Config[:remotefile_url])
-
- current_checksum = nil
- current_checksum = self.checksum(path) if ::File.exists?(path)
-
- url = generate_url(
- source,
- "files",
- {
- :checksum => current_checksum
- }
- )
-
- raw_file = nil
- begin
- raw_file = r.get_rest(url, true)
- rescue Net::HTTPRetriableError => e
- if e.response.kind_of?(Net::HTTPNotModified)
- Chef::Log.debug("File #{path} is unchanged")
- return false
- else
- raise e
- end
- end
-
- raw_file_checksum = self.checksum(raw_file.path)
-
- if ::File.exists?(path)
- Chef::Log.debug("#{path} changed from #{current_checksum} to #{raw_file_checksum}")
- Chef::Log.info("Updating file for #{@new_resource} at #{path}")
- else
- Chef::Log.info("Creating file for #{@new_resource} at #{path}")
- end
-
- backup(path)
- FileUtils.cp(raw_file.path, path)
- @new_resource.updated = true
-
- set_owner if @new_resource.owner != nil
- set_group if @new_resource.group != nil
- set_mode if @new_resource.mode != nil
- return true
- end
-
- end
- end
-end \ No newline at end of file