Parent

Class/Module Index [+]

Quicksearch

Facter::Util::DirectoryLoader

Constants

EXTERNAL_FACT_WEIGHT

This value makes it highly likely that external facts will take precedence over all other facts

Attributes

directory[R]

Directory for fact loading

Public Class Methods

default_loader() click to toggle source
# File lib/facter/util/directory_loader.rb, line 45
def self.default_loader
  loaders = Facter::Util::Config.external_facts_dirs.collect do |dir|
    Facter::Util::DirectoryLoader.new(dir)
  end
  Facter::Util::CompositeLoader.new(loaders)
end
loader_for(dir) click to toggle source
# File lib/facter/util/directory_loader.rb, line 37
def self.loader_for(dir)
  if File.directory?(dir)
    Facter::Util::DirectoryLoader.new(dir)
  else
    raise NoSuchDirectoryError
  end
end
new(dir) click to toggle source
# File lib/facter/util/directory_loader.rb, line 33
def initialize(dir)
  @directory = dir
end

Public Instance Methods

load(collection) click to toggle source

Load facts from files in fact directory using the relevant parser classes to parse them.

# File lib/facter/util/directory_loader.rb, line 54
def load(collection)
  entries.each do |file|
    parser = Facter::Util::Parser.parser_for(file)
    if parser == nil
      next
    end

    data = parser.results
    if data == false
      Facter.warn "Could not interpret fact file #{file}"
    elsif data == {} or data == nil
      Facter.warn "Fact file #{file} was parsed but returned an empty data set"
    else
      data.each { |p,v| collection.add(p, :value => v) { has_weight(EXTERNAL_FACT_WEIGHT) } }
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.