summaryrefslogtreecommitdiffstats
path: root/lib/puppet/indirector/file_metadata
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-10-19 17:35:40 -0500
committerLuke Kanies <luke@madstop.com>2007-10-19 17:35:40 -0500
commit08099b7a383987e292357f285e05933e10205660 (patch)
treec8f08a3afca5c9b45f965c7c8d051023170ea0d5 /lib/puppet/indirector/file_metadata
parentec396729d76b26d0d08c0bd633f28fa3c68c414c (diff)
downloadpuppet-08099b7a383987e292357f285e05933e10205660.tar.gz
puppet-08099b7a383987e292357f285e05933e10205660.tar.xz
puppet-08099b7a383987e292357f285e05933e10205660.zip
File serving now works. I've tested a couple of ways to
use it, and added integration tests at the most important hook points. This provides the final class structure for all of these classes, but a lot of the class names are pretty bad, so I'm planning on going through all of them (especially the file_server stuff) and renaming. The functionality is all here for finding files, though (finally). Once the classes are renamed, I'll be adding searching ability (which will enable the recursive file copies) and then adding the link management and enabling ignoring files.
Diffstat (limited to 'lib/puppet/indirector/file_metadata')
-rw-r--r--lib/puppet/indirector/file_metadata/local.rb6
-rw-r--r--lib/puppet/indirector/file_metadata/modules.rb17
-rw-r--r--lib/puppet/indirector/file_metadata/mounts.rb21
-rw-r--r--lib/puppet/indirector/file_metadata/rest.rb2
4 files changed, 23 insertions, 23 deletions
diff --git a/lib/puppet/indirector/file_metadata/local.rb b/lib/puppet/indirector/file_metadata/local.rb
index e1d774cc8..f40d4ce43 100644
--- a/lib/puppet/indirector/file_metadata/local.rb
+++ b/lib/puppet/indirector/file_metadata/local.rb
@@ -4,19 +4,19 @@
require 'puppet/file_serving/metadata'
require 'puppet/indirector/file_metadata'
-require 'puppet/file_serving/terminus_helper'
+require 'puppet/util/uri_helper'
require 'puppet/indirector/code'
class Puppet::Indirector::FileMetadata::Local < Puppet::Indirector::Code
desc "Retrieve file metadata directly from the local filesystem."
- include Puppet::FileServing::TerminusHelper
+ include Puppet::Util::URIHelper
def find(key)
uri = key2uri(key)
return nil unless FileTest.exists?(uri.path)
- data = Puppet::FileServing::Metadata.new uri.path
+ data = model.new(uri.path)
data.get_attributes
return data
diff --git a/lib/puppet/indirector/file_metadata/modules.rb b/lib/puppet/indirector/file_metadata/modules.rb
new file mode 100644
index 000000000..739c40fca
--- /dev/null
+++ b/lib/puppet/indirector/file_metadata/modules.rb
@@ -0,0 +1,17 @@
+#
+# Created by Luke Kanies on 2007-10-18.
+# Copyright (c) 2007. All rights reserved.
+
+require 'puppet/file_serving/metadata'
+require 'puppet/indirector/file_metadata'
+require 'puppet/indirector/module_files'
+
+class Puppet::Indirector::FileMetadata::Modules < Puppet::Indirector::ModuleFiles
+ desc "Retrieve file metadata from modules."
+
+ def find(*args)
+ return unless instance = super
+ instance.get_attributes
+ instance
+ end
+end
diff --git a/lib/puppet/indirector/file_metadata/mounts.rb b/lib/puppet/indirector/file_metadata/mounts.rb
index 6d7fe15c6..b1e3b32fd 100644
--- a/lib/puppet/indirector/file_metadata/mounts.rb
+++ b/lib/puppet/indirector/file_metadata/mounts.rb
@@ -3,26 +3,9 @@
# Copyright (c) 2007. All rights reserved.
require 'puppet/file_serving/metadata'
-require 'puppet/file_serving/terminus_helper'
require 'puppet/indirector/file_metadata'
-require 'puppet/indirector/code'
+require 'puppet/indirector/file_server'
-class Puppet::Indirector::FileMetadata::Mounts < Puppet::Indirector::Code
+class Puppet::Indirector::FileMetadata::Mounts < Puppet::Indirector::FileServer
desc "Retrieve file metadata using Puppet's fileserver."
-
- include Puppet::FileServing::TerminusHelper
-
- # This way it can be cleared or whatever and we aren't retaining
- # a reference to the old one.
- def configuration
- Puppet::FileServing::Configuration.create
- end
-
- def find(key)
- uri = key2uri(key)
-
- return nil unless path = configuration.file_path(uri.path) and FileTest.exists?(path)
-
- Puppet::FileServing::Metadata.new path
- end
end
diff --git a/lib/puppet/indirector/file_metadata/rest.rb b/lib/puppet/indirector/file_metadata/rest.rb
index dcf875b25..0f3d9c6fd 100644
--- a/lib/puppet/indirector/file_metadata/rest.rb
+++ b/lib/puppet/indirector/file_metadata/rest.rb
@@ -3,7 +3,7 @@
# Copyright (c) 2007. All rights reserved.
require 'puppet/file_serving/metadata'
-require 'puppet/file_serving/terminus_helper'
+require 'puppet/util/uri_helper'
require 'puppet/indirector/file_metadata'
require 'puppet/indirector/rest'