pretty_debug 0.8.12 → 0.8.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pretty_debug.rb +18 -6
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c1237356ace0031f04056ca6bc7097ba6bc367eb
4
- data.tar.gz: ed4743b978d360261bcb467df60cb3b39d2d494e
3
+ metadata.gz: 6d2334a29dba31ef4e56c003a7122882173a5b1c
4
+ data.tar.gz: 4ec14f7e4e70cfb36bf50452dc48ba75c3a3fc01
5
5
  SHA512:
6
- metadata.gz: 9c5636e2d593ec16c53e69e0428424ec0e58b9c94c0ef4a40be9c3e620aee1d1747f56aee5b86bc1f2d373013391d12563d7244491b70f392bec9aa0c86e2d4f
7
- data.tar.gz: 7c08b5f7be3459802e14524b085323352db0e167936bd0e52c9a7ca4eef73f9d2daa35b3507ea7d9f0fd4e015dc2c24d852f044239b5eba4566c663fdd7de756
6
+ metadata.gz: e979879cffc0be93bdb1756aca1408683cc440e45b1a8e4f9d4f9b615a547d9089d3bc59383c21c7059d4cabd1d5018ba77e1d51507839c9be252fa6bb2222f7
7
+ data.tar.gz: d25b95a831e139c5a9d6231158e592e290faab58fa8601ecbc7948b62a39a850ae96087bbed707a81ddf17b43cc6f5997f9260abc608f53784aa8b6a5da13735
data/lib/pretty_debug.rb CHANGED
@@ -204,15 +204,25 @@ class Method; def inspect; "#{receiver}.#{name}" end end
204
204
 
205
205
  class UnboundMethod; def inspect; "#{owner}##{name}" end end
206
206
 
207
+ class Object
208
+ def recursive? known = {}; false end
209
+ end
210
+
211
+ module Enumerable
212
+ def recursive? known = {}
213
+ return true if known.include?(self)
214
+ known[self] = true
215
+ begin
216
+ any?{|*args| args.any?{|item| item.recursive?(known)}}
217
+ ensure
218
+ known[self] = false
219
+ end
220
+ end
221
+ end
222
+
207
223
  class Array
208
224
  SingleLength = 50
209
225
  alias original_inspect inspect
210
- def recursive?
211
- flatten
212
- false
213
- rescue ArgumentError
214
- true
215
- end
216
226
  def inspect
217
227
  return original_inspect if recursive?
218
228
  s = map(&:inspect)
@@ -224,7 +234,9 @@ end
224
234
  class Hash
225
235
  SingleLength = 50
226
236
  KeyLengthMax = 30
237
+ alias original_inspect inspect
227
238
  def inspect
239
+ return original_inspect if recursive?
228
240
  keys = self.keys.map(&:inspect)
229
241
  # When `self == empty?`, `...max` becomes `nil`. `to_i` turns it to `0`.
230
242
  w = keys.map(&:length).max.to_i
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pretty_debug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.12
4
+ version: 0.8.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - sawa