The removed attributes are file, line, resource, tags,
source_description, and default_log_level.  These attributes were all
redundant with those in Puppet::Resource::Status.

Signed-off-by: Paul Berry <[email protected]>
---
 lib/puppet/transaction/event.rb     |    5 +++++
 spec/unit/transaction/event_spec.rb |   13 +++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/lib/puppet/transaction/event.rb b/lib/puppet/transaction/event.rb
index b9fa5c3..64980f1 100644
--- a/lib/puppet/transaction/event.rb
+++ b/lib/puppet/transaction/event.rb
@@ -8,6 +8,7 @@ class Puppet::Transaction::Event
   include Puppet::Util::Logging
 
   ATTRIBUTES = [:name, :resource, :property, :previous_value, :desired_value, 
:historical_value, :status, :message, :file, :line, :source_description, 
:audited]
+  YAML_ATTRIBUTES = %...@audited @property @previous_value @desired_value 
@historical_value @message @name @status @time}
   attr_accessor *ATTRIBUTES
   attr_writer :tags
   attr_accessor :time
@@ -47,6 +48,10 @@ class Puppet::Transaction::Event
     message
   end
 
+  def to_yaml_properties
+    (YAML_ATTRIBUTES & instance_variables).sort
+  end
+
   private
 
   # If it's a failure, use 'err', else use either the resource's log level (if 
available)
diff --git a/spec/unit/transaction/event_spec.rb 
b/spec/unit/transaction/event_spec.rb
index 2776be8..6ed1472 100755
--- a/spec/unit/transaction/event_spec.rb
+++ b/spec/unit/transaction/event_spec.rb
@@ -111,4 +111,17 @@ describe Puppet::Transaction::Event do
       Puppet::Transaction::Event.new(:resource => "Foo[bar]").send_log
     end
   end
+
+  describe "When converting to YAML" do
+    it "should include only documented attributes" do
+      resource = Puppet::Type.type(:file).new(:title => "/tmp/foo")
+      event = Puppet::Transaction::Event.new(:source_description => 
"/my/param", :resource => resource,
+                                             :file => "/foo.rb", :line => 27, 
:tags => %w{one two},
+                                             :desired_value => 7, 
:historical_value => 'Brazil',
+                                             :message => "Help I'm trapped in 
a spec test",
+                                             :name => :mode_changed, 
:previous_value => 6, :property => :mode,
+                                             :status => 'success')
+      event.to_yaml_properties.should == 
Puppet::Transaction::Event::YAML_ATTRIBUTES.sort
+    end
+  end
 end
-- 
1.7.2

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to