# File lib/puppet/indirector/file_bucket_file/file.rb, line 12 def initialize Puppet.settings.use(:filebucket) end
# File lib/puppet/indirector/file_bucket_file/file.rb, line 16 def find( request ) checksum, files_original_path = request_to_checksum_and_path( request ) dir_path = path_for(request.options[:bucket_path], checksum) file_path = ::File.join(dir_path, 'contents') return nil unless ::File.exists?(file_path) return nil unless path_match(dir_path, files_original_path) if request.options[:diff_with] hash_protocol = sumtype(checksum) file2_path = path_for(request.options[:bucket_path], request.options[:diff_with], 'contents') raise "could not find diff_with #{request.options[:diff_with]}" unless ::File.exists?(file2_path) return %xdiff #{file_path.inspect} #{file2_path.inspect}` else contents = IO.binread(file_path) Puppet.info "FileBucket read #{checksum}" model.new(contents) end end
# File lib/puppet/indirector/file_bucket_file/file.rb, line 36 def head(request) checksum, files_original_path = request_to_checksum_and_path(request) dir_path = path_for(request.options[:bucket_path], checksum) ::File.exists?(::File.join(dir_path, 'contents')) and path_match(dir_path, files_original_path) end
# File lib/puppet/indirector/file_bucket_file/file.rb, line 43 def save( request ) instance = request.instance checksum, files_original_path = request_to_checksum_and_path(request) save_to_disk(instance, files_original_path) instance.to_s end
# File lib/puppet/indirector/file_bucket_file/file.rb, line 51 def validate_key(request) # There are no ACLs on filebucket files so validating key is not important end