diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-04 12:54:42 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-04 12:54:42 +0000 |
commit | bba0a5d50aa79100cfbb4a79c524746a337c82d9 (patch) | |
tree | eba576fc93fda06a13e8adc7a29624429ac99170 /lib/pp.rb | |
parent | b20de83e937b72087dd8286f56ad3a4c70a98c59 (diff) | |
download | ruby-bba0a5d50aa79100cfbb4a79c524746a337c82d9.tar.gz |
Refactored using Method#owner.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/pp.rb')
-rw-r--r-- | lib/pp.rb | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -311,7 +311,7 @@ class PP < PrettyPrint inspect_method = method_method.call(:inspect) rescue NameError end - if inspect_method && /\(Kernel\)#/ !~ inspect_method.inspect + if inspect_method && inspect_method.owner != Kernel q.text self.inspect elsif !inspect_method && self.respond_to?(:inspect) q.text self.inspect @@ -345,7 +345,7 @@ class PP < PrettyPrint # However, doing this requires that every class that #inspect is called on # implement #pretty_print, or a RuntimeError will be raised. def pretty_print_inspect - if /\(PP::ObjectMixin\)#/ =~ Object.instance_method(:method).bind(self).call(:pretty_print).inspect + if Object.instance_method(:method).bind(self).call(:pretty_print).owner == PP::ObjectMixin raise "pretty_print is not overridden for #{self.class}" end PP.singleline_pp(self, ''.dup) |