diff options
author | Richard Viney <richard.viney@gmail.com> | 2017-01-22 14:50:08 +1300 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-12-16 23:43:49 +0900 |
commit | 6a75a460536a32fb62184dc5d8d66ddd737a9bad (patch) | |
tree | 1b977518ac32ecbdc987f87b487306485f0a136e /lib | |
parent | 251f5d8226dbde06ba06e980e3b741b45ae3826d (diff) | |
download | ruby-6a75a460536a32fb62184dc5d8d66ddd737a9bad.tar.gz |
Make prettyprint’s cycle detection aware of Delegator instances
Fixes [Bug #13144]
Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pp.rb | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -149,6 +149,10 @@ class PP < PrettyPrint # Object#pretty_print_cycle is used when +obj+ is already # printed, a.k.a the object reference chain has a cycle. def pp(obj) + # If obj is a Delegator then use the object being delegated to for cycle + # detection + obj = obj.__getobj__ if defined?(::Delegator) and obj.is_a?(::Delegator) + if check_inspect_key(obj) group {obj.pretty_print_cycle self} return |