1
# Created on 2007-05-02
2
# Copyright Luke Kanies
5
# The abstract base class for client fact storage.
8
extend Puppet::Util::Docs
9
extend Puppet::Util::ClassGen
11
@loader = Puppet::Util::Autoload.new(self, "puppet/fact_stores")
14
# Add a new report type.
15
def self.newstore(name, options = {}, &block)
16
klass = genclass(name,
18
:prefix => "FactStore",
20
:attributes => options
24
# Remove a store; really only used for testing.
25
def self.rmstore(name)
26
rmclass(name, :hash => @stores)
31
name = symbolize(name)
32
unless @stores.include? name
34
unless @stores.include? name
36
"Loaded report file for %s but report was not defined" %
48
# Retrieve the facts for a node.
50
raise Puppet::DevError, "%s has not overridden get" % self.class.name
53
# Set the facts for a node.
55
raise Puppet::DevError, "%s has not overridden set" % self.class.name