debug_helper 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +22 -22
  3. data/README.md +848 -218
  4. data/lib/debug_helper.rb +79 -160
  5. data/lib/debug_helper/array_handler.rb +12 -0
  6. data/lib/debug_helper/dir_handler.rb +19 -0
  7. data/lib/debug_helper/each_pair_handler.rb +13 -0
  8. data/lib/debug_helper/each_with_index_handler.rb +11 -0
  9. data/lib/debug_helper/exception_handler.rb +14 -0
  10. data/lib/debug_helper/file_handler.rb +29 -0
  11. data/lib/debug_helper/generic_handler.rb +12 -0
  12. data/lib/debug_helper/handler.rb +102 -0
  13. data/lib/debug_helper/hash_handler.rb +19 -0
  14. data/lib/debug_helper/io_handler.rb +15 -0
  15. data/lib/debug_helper/match_data_handler.rb +17 -0
  16. data/lib/debug_helper/object_handler.rb +13 -0
  17. data/lib/debug_helper/open_struct_handler.rb +16 -0
  18. data/lib/debug_helper/range_handler.rb +14 -0
  19. data/lib/debug_helper/regexp_handler.rb +16 -0
  20. data/lib/debug_helper/set_handler.rb +12 -0
  21. data/lib/debug_helper/string_handler.rb +17 -0
  22. data/lib/debug_helper/struct_handler.rb +18 -0
  23. data/lib/debug_helper/symbol_handler.rb +15 -0
  24. data/lib/debug_helper/version.rb +3 -3
  25. data/markdown/readme/Rakefile +36 -6
  26. data/markdown/readme/class_inclusions.md +10 -3
  27. data/markdown/readme/class_links.md +10 -3
  28. data/markdown/readme/classes/array/circular/show.md +4 -2
  29. data/markdown/readme/classes/array/circular/show.yaml +4 -2
  30. data/markdown/readme/classes/array/mixed/show.md +6 -3
  31. data/markdown/readme/classes/array/mixed/show.yaml +6 -3
  32. data/markdown/readme/classes/array/nested/show.md +6 -3
  33. data/markdown/readme/classes/array/nested/show.yaml +6 -3
  34. data/markdown/readme/classes/array/simple/show.md +2 -1
  35. data/markdown/readme/classes/array/simple/show.yaml +2 -1
  36. data/markdown/readme/classes/dir/simple/show.md +28 -0
  37. data/markdown/readme/classes/dir/simple/show.rb +4 -0
  38. data/markdown/readme/classes/dir/simple/show.yaml +11 -0
  39. data/markdown/readme/classes/dir/simple/template.md +9 -0
  40. data/markdown/readme/classes/dir/template.md +3 -0
  41. data/markdown/readme/classes/exception/simple/show.md +44 -0
  42. data/markdown/readme/classes/exception/simple/show.rb +22 -0
  43. data/markdown/readme/classes/exception/simple/show.yaml +9 -0
  44. data/markdown/readme/classes/exception/simple/template.md +9 -0
  45. data/markdown/readme/classes/exception/template.md +3 -0
  46. data/markdown/readme/classes/file/simple/show.md +3 -3
  47. data/markdown/readme/classes/file/simple/show.yaml +3 -3
  48. data/markdown/readme/classes/hash/circular/show.md +12 -4
  49. data/markdown/readme/classes/hash/circular/show.yaml +12 -4
  50. data/markdown/readme/classes/hash/mixed/show.md +14 -6
  51. data/markdown/readme/classes/hash/mixed/show.yaml +14 -6
  52. data/markdown/readme/classes/hash/nested/show.md +24 -9
  53. data/markdown/readme/classes/hash/nested/show.yaml +24 -9
  54. data/markdown/readme/classes/hash/simple/show.md +10 -4
  55. data/markdown/readme/classes/hash/simple/show.yaml +10 -4
  56. data/markdown/readme/classes/io/simple/show.md +23 -0
  57. data/markdown/readme/classes/io/simple/show.rb +4 -0
  58. data/markdown/readme/classes/io/simple/show.yaml +6 -0
  59. data/markdown/readme/classes/io/simple/template.md +9 -0
  60. data/markdown/readme/classes/io/template.md +3 -0
  61. data/markdown/readme/classes/match_data/multiple_captures/show.md +33 -0
  62. data/markdown/readme/classes/match_data/multiple_captures/show.rb +4 -0
  63. data/markdown/readme/classes/match_data/multiple_captures/show.yaml +16 -0
  64. data/markdown/readme/classes/match_data/multiple_captures/template.md +9 -0
  65. data/markdown/readme/classes/match_data/named_captures/show.md +31 -0
  66. data/markdown/readme/classes/match_data/named_captures/show.rb +4 -0
  67. data/markdown/readme/classes/match_data/named_captures/show.yaml +14 -0
  68. data/markdown/readme/classes/match_data/named_captures/template.md +9 -0
  69. data/markdown/readme/classes/match_data/simple/show.md +25 -0
  70. data/markdown/readme/classes/match_data/simple/show.rb +4 -0
  71. data/markdown/readme/classes/match_data/simple/show.yaml +8 -0
  72. data/markdown/readme/classes/match_data/simple/template.md +9 -0
  73. data/markdown/readme/classes/match_data/template.md +7 -0
  74. data/markdown/readme/classes/object/object/show.md +23 -0
  75. data/markdown/readme/classes/object/object/show.rb +8 -0
  76. data/markdown/readme/classes/object/object/show.yaml +2 -0
  77. data/markdown/readme/classes/object/object/template.md +9 -0
  78. data/markdown/readme/classes/object/template.md +1 -7
  79. data/markdown/readme/classes/open_struct/circular/show.md +40 -0
  80. data/markdown/readme/classes/open_struct/circular/show.rb +8 -0
  81. data/markdown/readme/classes/open_struct/circular/show.yaml +17 -0
  82. data/markdown/readme/classes/open_struct/circular/template.md +11 -0
  83. data/markdown/readme/classes/open_struct/mixed/show.md +51 -0
  84. data/markdown/readme/classes/open_struct/mixed/show.rb +5 -0
  85. data/markdown/readme/classes/open_struct/mixed/show.yaml +33 -0
  86. data/markdown/readme/classes/open_struct/mixed/template.md +9 -0
  87. data/markdown/readme/classes/open_struct/nested/show.md +73 -0
  88. data/markdown/readme/classes/open_struct/nested/show.rb +14 -0
  89. data/markdown/readme/classes/open_struct/nested/show.yaml +46 -0
  90. data/markdown/readme/classes/open_struct/nested/template.md +9 -0
  91. data/markdown/readme/classes/open_struct/simple/show.md +41 -0
  92. data/markdown/readme/classes/open_struct/simple/show.rb +5 -0
  93. data/markdown/readme/classes/open_struct/simple/show.yaml +23 -0
  94. data/markdown/readme/classes/open_struct/simple/template.md +9 -0
  95. data/markdown/readme/classes/open_struct/template.md +9 -0
  96. data/markdown/readme/classes/range/exclude_end/show.md +22 -0
  97. data/markdown/readme/classes/range/exclude_end/show.rb +4 -0
  98. data/markdown/readme/classes/range/exclude_end/show.yaml +5 -0
  99. data/markdown/readme/classes/range/exclude_end/template.md +9 -0
  100. data/markdown/readme/classes/range/include_end/show.md +22 -0
  101. data/markdown/readme/classes/range/include_end/show.rb +4 -0
  102. data/markdown/readme/classes/range/include_end/show.yaml +5 -0
  103. data/markdown/readme/classes/range/include_end/template.md +9 -0
  104. data/markdown/readme/classes/range/template.md +5 -0
  105. data/markdown/readme/classes/regexp/named_captures/show.md +28 -0
  106. data/markdown/readme/classes/regexp/named_captures/show.rb +4 -0
  107. data/markdown/readme/classes/regexp/named_captures/show.yaml +11 -0
  108. data/markdown/readme/classes/regexp/named_captures/template.md +9 -0
  109. data/markdown/readme/classes/regexp/simple/show.md +24 -0
  110. data/markdown/readme/classes/regexp/simple/show.rb +4 -0
  111. data/markdown/readme/classes/regexp/simple/show.yaml +7 -0
  112. data/markdown/readme/classes/regexp/simple/template.md +9 -0
  113. data/markdown/readme/classes/regexp/template.md +5 -0
  114. data/markdown/readme/classes/set/circular/show.md +4 -2
  115. data/markdown/readme/classes/set/circular/show.yaml +4 -2
  116. data/markdown/readme/classes/set/mixed/show.md +6 -3
  117. data/markdown/readme/classes/set/mixed/show.yaml +6 -3
  118. data/markdown/readme/classes/set/nested/show.md +6 -3
  119. data/markdown/readme/classes/set/nested/show.yaml +6 -3
  120. data/markdown/readme/classes/set/simple/show.md +2 -1
  121. data/markdown/readme/classes/set/simple/show.yaml +2 -1
  122. data/markdown/readme/classes/string/multiline/show.md +2 -1
  123. data/markdown/readme/classes/string/multiline/show.yaml +2 -1
  124. data/markdown/readme/classes/string/simple/show.md +2 -1
  125. data/markdown/readme/classes/string/simple/show.yaml +2 -1
  126. data/markdown/readme/classes/struct/circular/show.md +34 -8
  127. data/markdown/readme/classes/struct/circular/show.yaml +34 -8
  128. data/markdown/readme/classes/struct/mixed/show.md +21 -6
  129. data/markdown/readme/classes/struct/mixed/show.yaml +21 -6
  130. data/markdown/readme/classes/struct/nested/show.md +36 -9
  131. data/markdown/readme/classes/struct/nested/show.yaml +36 -9
  132. data/markdown/readme/classes/struct/simple/show.md +17 -4
  133. data/markdown/readme/classes/struct/simple/show.yaml +17 -4
  134. data/markdown/readme/classes/symbol/simple/show.md +2 -1
  135. data/markdown/readme/classes/symbol/simple/show.yaml +2 -1
  136. data/markdown/readme/options/depth/show.md +30 -15
  137. data/markdown/readme/options/depth/show.yaml +30 -15
  138. data/markdown/readme/template.md +8 -8
  139. metadata +88 -14
  140. data/markdown/readme/classes/object/datetime/show.md +0 -18
  141. data/markdown/readme/classes/object/datetime/show.rb +0 -4
  142. data/markdown/readme/classes/object/datetime/show.yaml +0 -1
  143. data/markdown/readme/classes/object/datetime/template.md +0 -9
  144. data/markdown/readme/classes/object/range/show.md +0 -19
  145. data/markdown/readme/classes/object/range/show.rb +0 -4
  146. data/markdown/readme/classes/object/range/show.yaml +0 -2
  147. data/markdown/readme/classes/object/range/template.md +0 -9
  148. data/markdown/readme/classes/object/regexp/show.md +0 -19
  149. data/markdown/readme/classes/object/regexp/show.rb +0 -4
  150. data/markdown/readme/classes/object/regexp/show.yaml +0 -2
  151. data/markdown/readme/classes/object/regexp/template.md +0 -9
@@ -0,0 +1,11 @@
1
+ #### Circular OpenStructs
2
+
3
+ This example shows open structs that make a circular reference.
4
+
5
+ @[ruby](show.rb)
6
+
7
+ The output shows details of the open structs.
8
+
9
+ The circular reference is not followed.
10
+
11
+ @[yaml](show.yaml)
@@ -0,0 +1,51 @@
1
+ #### Mixed OpenStruct
2
+
3
+ This example shows an open struct of mixed values.
4
+
5
+ ```show.rb```:
6
+ ```ruby
7
+ require 'ostruct'
8
+ require 'debug_helper'
9
+
10
+ ostruct = OpenStruct.new(:a => 0, :b => 'one', :c => :two)
11
+ DebugHelper.show(ostruct, 'My mixed open struct')
12
+ ```
13
+
14
+ The output shows details of the open struct.
15
+
16
+ ```show.yaml```:
17
+ ```yaml
18
+ ---
19
+ OpenStruct (message='My mixed open struct'):
20
+ Member 0:
21
+ Name:
22
+ Symbol:
23
+ to_s: a
24
+ size: 1
25
+ encoding: !ruby/encoding US-ASCII
26
+ Value: Fixnum 0
27
+ Member 1:
28
+ Name:
29
+ Symbol:
30
+ to_s: b
31
+ size: 1
32
+ encoding: !ruby/encoding US-ASCII
33
+ Value:
34
+ String:
35
+ to_s: one
36
+ size: 3
37
+ encoding: !ruby/encoding UTF-8
38
+ ascii_only?: true
39
+ bytesize: 3
40
+ Member 2:
41
+ Name:
42
+ Symbol:
43
+ to_s: c
44
+ size: 1
45
+ encoding: !ruby/encoding US-ASCII
46
+ Value:
47
+ Symbol:
48
+ to_s: two
49
+ size: 3
50
+ encoding: !ruby/encoding US-ASCII
51
+ ```
@@ -0,0 +1,5 @@
1
+ require 'ostruct'
2
+ require 'debug_helper'
3
+
4
+ ostruct = OpenStruct.new(:a => 0, :b => 'one', :c => :two)
5
+ DebugHelper.show(ostruct, 'My mixed open struct')
@@ -0,0 +1,33 @@
1
+ ---
2
+ OpenStruct (message='My mixed open struct'):
3
+ Member 0:
4
+ Name:
5
+ Symbol:
6
+ to_s: a
7
+ size: 1
8
+ encoding: !ruby/encoding US-ASCII
9
+ Value: Fixnum 0
10
+ Member 1:
11
+ Name:
12
+ Symbol:
13
+ to_s: b
14
+ size: 1
15
+ encoding: !ruby/encoding US-ASCII
16
+ Value:
17
+ String:
18
+ to_s: one
19
+ size: 3
20
+ encoding: !ruby/encoding UTF-8
21
+ ascii_only?: true
22
+ bytesize: 3
23
+ Member 2:
24
+ Name:
25
+ Symbol:
26
+ to_s: c
27
+ size: 1
28
+ encoding: !ruby/encoding US-ASCII
29
+ Value:
30
+ Symbol:
31
+ to_s: two
32
+ size: 3
33
+ encoding: !ruby/encoding US-ASCII
@@ -0,0 +1,9 @@
1
+ #### Mixed OpenStruct
2
+
3
+ This example shows an open struct of mixed values.
4
+
5
+ @[ruby](show.rb)
6
+
7
+ The output shows details of the open struct.
8
+
9
+ @[yaml](show.yaml)
@@ -0,0 +1,73 @@
1
+ #### Nested OpenStructs
2
+
3
+ This example shows nested open structs.
4
+
5
+ ```show.rb```:
6
+ ```ruby
7
+ require 'ostruct'
8
+ require 'debug_helper'
9
+
10
+ ostruct = OpenStruct.new(
11
+ :a => OpenStruct.new(
12
+ :b => 0,
13
+ :c => 1,
14
+ ),
15
+ :d => OpenStruct.new(
16
+ :e => 2,
17
+ :f => 3,
18
+ )
19
+ )
20
+ DebugHelper.show(ostruct, 'My nested struct')
21
+ ```
22
+
23
+ The output shows details of the open structs.
24
+
25
+ ```show.yaml```:
26
+ ```yaml
27
+ ---
28
+ OpenStruct (message='My nested struct'):
29
+ Member 0:
30
+ Name:
31
+ Symbol:
32
+ to_s: a
33
+ size: 1
34
+ encoding: !ruby/encoding US-ASCII
35
+ Value:
36
+ OpenStruct:
37
+ Member 0:
38
+ Name:
39
+ Symbol:
40
+ to_s: b
41
+ size: 1
42
+ encoding: !ruby/encoding US-ASCII
43
+ Value: Fixnum 0
44
+ Member 1:
45
+ Name:
46
+ Symbol:
47
+ to_s: c
48
+ size: 1
49
+ encoding: !ruby/encoding US-ASCII
50
+ Value: Fixnum 1
51
+ Member 1:
52
+ Name:
53
+ Symbol:
54
+ to_s: d
55
+ size: 1
56
+ encoding: !ruby/encoding US-ASCII
57
+ Value:
58
+ OpenStruct:
59
+ Member 0:
60
+ Name:
61
+ Symbol:
62
+ to_s: e
63
+ size: 1
64
+ encoding: !ruby/encoding US-ASCII
65
+ Value: Fixnum 2
66
+ Member 1:
67
+ Name:
68
+ Symbol:
69
+ to_s: f
70
+ size: 1
71
+ encoding: !ruby/encoding US-ASCII
72
+ Value: Fixnum 3
73
+ ```
@@ -0,0 +1,14 @@
1
+ require 'ostruct'
2
+ require 'debug_helper'
3
+
4
+ ostruct = OpenStruct.new(
5
+ :a => OpenStruct.new(
6
+ :b => 0,
7
+ :c => 1,
8
+ ),
9
+ :d => OpenStruct.new(
10
+ :e => 2,
11
+ :f => 3,
12
+ )
13
+ )
14
+ DebugHelper.show(ostruct, 'My nested struct')
@@ -0,0 +1,46 @@
1
+ ---
2
+ OpenStruct (message='My nested struct'):
3
+ Member 0:
4
+ Name:
5
+ Symbol:
6
+ to_s: a
7
+ size: 1
8
+ encoding: !ruby/encoding US-ASCII
9
+ Value:
10
+ OpenStruct:
11
+ Member 0:
12
+ Name:
13
+ Symbol:
14
+ to_s: b
15
+ size: 1
16
+ encoding: !ruby/encoding US-ASCII
17
+ Value: Fixnum 0
18
+ Member 1:
19
+ Name:
20
+ Symbol:
21
+ to_s: c
22
+ size: 1
23
+ encoding: !ruby/encoding US-ASCII
24
+ Value: Fixnum 1
25
+ Member 1:
26
+ Name:
27
+ Symbol:
28
+ to_s: d
29
+ size: 1
30
+ encoding: !ruby/encoding US-ASCII
31
+ Value:
32
+ OpenStruct:
33
+ Member 0:
34
+ Name:
35
+ Symbol:
36
+ to_s: e
37
+ size: 1
38
+ encoding: !ruby/encoding US-ASCII
39
+ Value: Fixnum 2
40
+ Member 1:
41
+ Name:
42
+ Symbol:
43
+ to_s: f
44
+ size: 1
45
+ encoding: !ruby/encoding US-ASCII
46
+ Value: Fixnum 3
@@ -0,0 +1,9 @@
1
+ #### Nested OpenStructs
2
+
3
+ This example shows nested open structs.
4
+
5
+ @[ruby](show.rb)
6
+
7
+ The output shows details of the open structs.
8
+
9
+ @[yaml](show.yaml)
@@ -0,0 +1,41 @@
1
+ #### Simple OpenStruct
2
+
3
+ This example shows a simple open struct.
4
+
5
+ ```show.rb```:
6
+ ```ruby
7
+ require 'ostruct'
8
+ require 'debug_helper'
9
+
10
+ ostruct = OpenStruct.new(:a => 0, :b => 1, :c => 2)
11
+ DebugHelper.show(ostruct, 'My simple struct')
12
+ ```
13
+
14
+ The output shows details of the open struct.
15
+
16
+ ```show.yaml```:
17
+ ```yaml
18
+ ---
19
+ OpenStruct (message='My simple struct'):
20
+ Member 0:
21
+ Name:
22
+ Symbol:
23
+ to_s: a
24
+ size: 1
25
+ encoding: !ruby/encoding US-ASCII
26
+ Value: Fixnum 0
27
+ Member 1:
28
+ Name:
29
+ Symbol:
30
+ to_s: b
31
+ size: 1
32
+ encoding: !ruby/encoding US-ASCII
33
+ Value: Fixnum 1
34
+ Member 2:
35
+ Name:
36
+ Symbol:
37
+ to_s: c
38
+ size: 1
39
+ encoding: !ruby/encoding US-ASCII
40
+ Value: Fixnum 2
41
+ ```
@@ -0,0 +1,5 @@
1
+ require 'ostruct'
2
+ require 'debug_helper'
3
+
4
+ ostruct = OpenStruct.new(:a => 0, :b => 1, :c => 2)
5
+ DebugHelper.show(ostruct, 'My simple struct')
@@ -0,0 +1,23 @@
1
+ ---
2
+ OpenStruct (message='My simple struct'):
3
+ Member 0:
4
+ Name:
5
+ Symbol:
6
+ to_s: a
7
+ size: 1
8
+ encoding: !ruby/encoding US-ASCII
9
+ Value: Fixnum 0
10
+ Member 1:
11
+ Name:
12
+ Symbol:
13
+ to_s: b
14
+ size: 1
15
+ encoding: !ruby/encoding US-ASCII
16
+ Value: Fixnum 1
17
+ Member 2:
18
+ Name:
19
+ Symbol:
20
+ to_s: c
21
+ size: 1
22
+ encoding: !ruby/encoding US-ASCII
23
+ Value: Fixnum 2
@@ -0,0 +1,9 @@
1
+ #### Simple OpenStruct
2
+
3
+ This example shows a simple open struct.
4
+
5
+ @[ruby](show.rb)
6
+
7
+ The output shows details of the open struct.
8
+
9
+ @[yaml](show.yaml)
@@ -0,0 +1,9 @@
1
+ ### OpenStruct
2
+
3
+ @[:markdown](simple/show.md)
4
+
5
+ @[:markdown](mixed/show.md)
6
+
7
+ @[:markdown](nested/show.md)
8
+
9
+ @[:markdown](circular/show.md)
@@ -0,0 +1,22 @@
1
+ #### Exclusive Range
2
+
3
+ This example shows a ```Range``` that excludes its end value.
4
+
5
+ ```show.rb```:
6
+ ```ruby
7
+ require 'debug_helper'
8
+
9
+ range = (0...4)
10
+ DebugHelper.show(range, 'My exclusive range')
11
+ ```
12
+
13
+ The output shows details of the ```Range```.
14
+
15
+ ```show.yaml```:
16
+ ```yaml
17
+ ---
18
+ Range (message='My exclusive range'):
19
+ first: 0
20
+ last: 4
21
+ exclude_end?: true
22
+ ```
@@ -0,0 +1,4 @@
1
+ require 'debug_helper'
2
+
3
+ range = (0...4)
4
+ DebugHelper.show(range, 'My exclusive range')
@@ -0,0 +1,5 @@
1
+ ---
2
+ Range (message='My exclusive range'):
3
+ first: 0
4
+ last: 4
5
+ exclude_end?: true
@@ -0,0 +1,9 @@
1
+ #### Exclusive Range
2
+
3
+ This example shows a ```Range``` that excludes its end value.
4
+
5
+ @[ruby](show.rb)
6
+
7
+ The output shows details of the ```Range```.
8
+
9
+ @[yaml](show.yaml)
@@ -0,0 +1,22 @@
1
+ #### Inclusive Range
2
+
3
+ This example shows a ```Range``` that includes its end value.
4
+
5
+ ```show.rb```:
6
+ ```ruby
7
+ require 'debug_helper'
8
+
9
+ range = (0..4)
10
+ DebugHelper.show(range, 'My inclusive range')
11
+ ```
12
+
13
+ The output shows details of the ```Range```.
14
+
15
+ ```show.yaml```:
16
+ ```yaml
17
+ ---
18
+ Range (message='My inclusive range'):
19
+ first: 0
20
+ last: 4
21
+ exclude_end?: false
22
+ ```
@@ -0,0 +1,4 @@
1
+ require 'debug_helper'
2
+
3
+ range = (0..4)
4
+ DebugHelper.show(range, 'My inclusive range')
@@ -0,0 +1,5 @@
1
+ ---
2
+ Range (message='My inclusive range'):
3
+ first: 0
4
+ last: 4
5
+ exclude_end?: false