blob: fda2b9191884013a3717882c3fb28b087af8dd04 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
require 'puppet/node/facts'
require 'puppet/indirector/couch'
class Puppet::Node::Facts::Couch < Puppet::Indirector::Couch
# Return the facts object or nil if there is no document
def find(request)
doc = super
doc ? model.new(doc['_id'], doc['facts']) : nil
end
private
# Facts values are stored to the document's 'facts' attribute. Hostname is
# stored to 'name'
#
def hash_from(request)
super.merge('facts' => request.instance.values)
end
# Facts are stored to the 'node' document.
def document_type_for(request)
'node'
end
# The id used to store the object in couchdb.
def id_for(request)
request.key.to_s
end
end
|