Sha256: 1deeac81e9f56e4a5a579f6407f8a93e3384dcf0ab6e50aabebe77fb039136b4

Contents?: true

Size: 852 Bytes

Versions: 6

Compression:

Stored size: 852 Bytes

Contents

require 'puppet/file_serving/mount'

# Find files in the modules' plugins directories.
# This is a very strange mount because it merges
# many directories into one.
class Puppet::FileServing::Mount::Plugins < Puppet::FileServing::Mount
    # Return an instance of the appropriate class.
    def find(relative_path, request)
        return nil unless mod = request.environment.modules.find { |mod|  mod.plugin(relative_path) }

        path = mod.plugin(relative_path)

        return path
    end

    def search(relative_path, request)
        # We currently only support one kind of search on plugins - return
        # them all.
        paths = request.environment.modules.find_all { |mod| mod.plugins? }.collect { |mod| mod.plugin_directory }
        return nil if paths.empty?
        return paths
    end

    def valid?
        true
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-0.25.5 lib/puppet/file_serving/mount/plugins.rb
puppet-0.25.4 lib/puppet/file_serving/mount/plugins.rb
puppet-0.25.3 lib/puppet/file_serving/mount/plugins.rb
puppet-0.25.2 lib/puppet/file_serving/mount/plugins.rb
puppet-0.25.1 lib/puppet/file_serving/mount/plugins.rb
puppet-0.25.0 lib/puppet/file_serving/mount/plugins.rb