summaryrefslogtreecommitdiffstats
path: root/lib/puppet/node/facts.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/node/facts.rb')
-rwxr-xr-xlib/puppet/node/facts.rb20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/puppet/node/facts.rb b/lib/puppet/node/facts.rb
index 577b62b62..2ff7156c8 100755
--- a/lib/puppet/node/facts.rb
+++ b/lib/puppet/node/facts.rb
@@ -61,18 +61,22 @@ class Puppet::Node::Facts
def self.from_pson(data)
result = new(data['name'], data['values'])
- result.timestamp = Time.parse(data['timestamp'])
- result.expiration = Time.parse(data['expiration'])
+ result.timestamp = Time.parse(data['timestamp']) if data['timestamp']
+ result.expiration = Time.parse(data['expiration']) if data['expiration']
result
end
def to_pson(*args)
- {
- 'expiration' => expiration,
- 'name' => name,
- 'timestamp' => timestamp,
- 'values' => strip_internal,
- }.to_pson(*args)
+ result = {
+ 'document_type' => "Puppet::Node::Facts",
+ 'data' => {}
+ }
+
+ result['data']['name'] = name
+ result['data']['expiration'] = expiration if expiration
+ result['data']['timestamp'] = timestamp if timestamp
+ result['data']['values'] = strip_internal
+ result.to_pson(*args)
end
# Add internal data to the facts for storage.