summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--lib/pp.rb28
2 files changed, 32 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c3f53d89b..fe4e018c1e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon May 20 03:16:52 2013 Zachary Scott <zachary@zacharyscott.net>
+
+ * lib/pp.rb: Document PP::ObjectMixin [Fixes GH-312]
+
Sun May 19 23:52:22 2013 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
* test/webrick/test_htmlutils.rb: add test for WEBrick::HTMLUtils.
diff --git a/lib/pp.rb b/lib/pp.rb
index 18cc473509..b7dbef6ca1 100644
--- a/lib/pp.rb
+++ b/lib/pp.rb
@@ -300,6 +300,34 @@ class PP < PrettyPrint
include PPMethods
end
+ # Allows you to implement pretty print in your own class, for example:
+ # require 'pp'
+ #
+ # class Cat
+ # include PP::ObjectMixin
+ #
+ # attr_accessor :name, :age, :color
+ #
+ # def initialize name
+ # @name = name
+ # end
+ #
+ # def pretty_print q
+ # q.pp_object self
+ # end
+ # alias inspect pretty_print_inspect
+ #
+ # end
+ #
+ # In order to use this class, try the following:
+ #
+ # ginger = Cat.new("ginger")
+ # p ginger
+ # #=> #<Cat:0x007f8dfb994900 @name="ginger">
+ # ginger.age = 2
+ # ginger.color = "red"
+ # p ginger
+ # #=> #<Cat:0x007f8dfb994900 @age=2, @color="red", @name="ginger">
module ObjectMixin
# 1. specific pretty_print
# 2. specific inspect