debug_helper 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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