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.
- checksums.yaml +4 -4
- data/Gemfile.lock +22 -22
- data/README.md +848 -218
- data/lib/debug_helper.rb +79 -160
- data/lib/debug_helper/array_handler.rb +12 -0
- data/lib/debug_helper/dir_handler.rb +19 -0
- data/lib/debug_helper/each_pair_handler.rb +13 -0
- data/lib/debug_helper/each_with_index_handler.rb +11 -0
- data/lib/debug_helper/exception_handler.rb +14 -0
- data/lib/debug_helper/file_handler.rb +29 -0
- data/lib/debug_helper/generic_handler.rb +12 -0
- data/lib/debug_helper/handler.rb +102 -0
- data/lib/debug_helper/hash_handler.rb +19 -0
- data/lib/debug_helper/io_handler.rb +15 -0
- data/lib/debug_helper/match_data_handler.rb +17 -0
- data/lib/debug_helper/object_handler.rb +13 -0
- data/lib/debug_helper/open_struct_handler.rb +16 -0
- data/lib/debug_helper/range_handler.rb +14 -0
- data/lib/debug_helper/regexp_handler.rb +16 -0
- data/lib/debug_helper/set_handler.rb +12 -0
- data/lib/debug_helper/string_handler.rb +17 -0
- data/lib/debug_helper/struct_handler.rb +18 -0
- data/lib/debug_helper/symbol_handler.rb +15 -0
- data/lib/debug_helper/version.rb +3 -3
- data/markdown/readme/Rakefile +36 -6
- data/markdown/readme/class_inclusions.md +10 -3
- data/markdown/readme/class_links.md +10 -3
- data/markdown/readme/classes/array/circular/show.md +4 -2
- data/markdown/readme/classes/array/circular/show.yaml +4 -2
- data/markdown/readme/classes/array/mixed/show.md +6 -3
- data/markdown/readme/classes/array/mixed/show.yaml +6 -3
- data/markdown/readme/classes/array/nested/show.md +6 -3
- data/markdown/readme/classes/array/nested/show.yaml +6 -3
- data/markdown/readme/classes/array/simple/show.md +2 -1
- data/markdown/readme/classes/array/simple/show.yaml +2 -1
- data/markdown/readme/classes/dir/simple/show.md +28 -0
- data/markdown/readme/classes/dir/simple/show.rb +4 -0
- data/markdown/readme/classes/dir/simple/show.yaml +11 -0
- data/markdown/readme/classes/dir/simple/template.md +9 -0
- data/markdown/readme/classes/dir/template.md +3 -0
- data/markdown/readme/classes/exception/simple/show.md +44 -0
- data/markdown/readme/classes/exception/simple/show.rb +22 -0
- data/markdown/readme/classes/exception/simple/show.yaml +9 -0
- data/markdown/readme/classes/exception/simple/template.md +9 -0
- data/markdown/readme/classes/exception/template.md +3 -0
- data/markdown/readme/classes/file/simple/show.md +3 -3
- data/markdown/readme/classes/file/simple/show.yaml +3 -3
- data/markdown/readme/classes/hash/circular/show.md +12 -4
- data/markdown/readme/classes/hash/circular/show.yaml +12 -4
- data/markdown/readme/classes/hash/mixed/show.md +14 -6
- data/markdown/readme/classes/hash/mixed/show.yaml +14 -6
- data/markdown/readme/classes/hash/nested/show.md +24 -9
- data/markdown/readme/classes/hash/nested/show.yaml +24 -9
- data/markdown/readme/classes/hash/simple/show.md +10 -4
- data/markdown/readme/classes/hash/simple/show.yaml +10 -4
- data/markdown/readme/classes/io/simple/show.md +23 -0
- data/markdown/readme/classes/io/simple/show.rb +4 -0
- data/markdown/readme/classes/io/simple/show.yaml +6 -0
- data/markdown/readme/classes/io/simple/template.md +9 -0
- data/markdown/readme/classes/io/template.md +3 -0
- data/markdown/readme/classes/match_data/multiple_captures/show.md +33 -0
- data/markdown/readme/classes/match_data/multiple_captures/show.rb +4 -0
- data/markdown/readme/classes/match_data/multiple_captures/show.yaml +16 -0
- data/markdown/readme/classes/match_data/multiple_captures/template.md +9 -0
- data/markdown/readme/classes/match_data/named_captures/show.md +31 -0
- data/markdown/readme/classes/match_data/named_captures/show.rb +4 -0
- data/markdown/readme/classes/match_data/named_captures/show.yaml +14 -0
- data/markdown/readme/classes/match_data/named_captures/template.md +9 -0
- data/markdown/readme/classes/match_data/simple/show.md +25 -0
- data/markdown/readme/classes/match_data/simple/show.rb +4 -0
- data/markdown/readme/classes/match_data/simple/show.yaml +8 -0
- data/markdown/readme/classes/match_data/simple/template.md +9 -0
- data/markdown/readme/classes/match_data/template.md +7 -0
- data/markdown/readme/classes/object/object/show.md +23 -0
- data/markdown/readme/classes/object/object/show.rb +8 -0
- data/markdown/readme/classes/object/object/show.yaml +2 -0
- data/markdown/readme/classes/object/object/template.md +9 -0
- data/markdown/readme/classes/object/template.md +1 -7
- data/markdown/readme/classes/open_struct/circular/show.md +40 -0
- data/markdown/readme/classes/open_struct/circular/show.rb +8 -0
- data/markdown/readme/classes/open_struct/circular/show.yaml +17 -0
- data/markdown/readme/classes/open_struct/circular/template.md +11 -0
- data/markdown/readme/classes/open_struct/mixed/show.md +51 -0
- data/markdown/readme/classes/open_struct/mixed/show.rb +5 -0
- data/markdown/readme/classes/open_struct/mixed/show.yaml +33 -0
- data/markdown/readme/classes/open_struct/mixed/template.md +9 -0
- data/markdown/readme/classes/open_struct/nested/show.md +73 -0
- data/markdown/readme/classes/open_struct/nested/show.rb +14 -0
- data/markdown/readme/classes/open_struct/nested/show.yaml +46 -0
- data/markdown/readme/classes/open_struct/nested/template.md +9 -0
- data/markdown/readme/classes/open_struct/simple/show.md +41 -0
- data/markdown/readme/classes/open_struct/simple/show.rb +5 -0
- data/markdown/readme/classes/open_struct/simple/show.yaml +23 -0
- data/markdown/readme/classes/open_struct/simple/template.md +9 -0
- data/markdown/readme/classes/open_struct/template.md +9 -0
- data/markdown/readme/classes/range/exclude_end/show.md +22 -0
- data/markdown/readme/classes/range/exclude_end/show.rb +4 -0
- data/markdown/readme/classes/range/exclude_end/show.yaml +5 -0
- data/markdown/readme/classes/range/exclude_end/template.md +9 -0
- data/markdown/readme/classes/range/include_end/show.md +22 -0
- data/markdown/readme/classes/range/include_end/show.rb +4 -0
- data/markdown/readme/classes/range/include_end/show.yaml +5 -0
- data/markdown/readme/classes/range/include_end/template.md +9 -0
- data/markdown/readme/classes/range/template.md +5 -0
- data/markdown/readme/classes/regexp/named_captures/show.md +28 -0
- data/markdown/readme/classes/regexp/named_captures/show.rb +4 -0
- data/markdown/readme/classes/regexp/named_captures/show.yaml +11 -0
- data/markdown/readme/classes/regexp/named_captures/template.md +9 -0
- data/markdown/readme/classes/regexp/simple/show.md +24 -0
- data/markdown/readme/classes/regexp/simple/show.rb +4 -0
- data/markdown/readme/classes/regexp/simple/show.yaml +7 -0
- data/markdown/readme/classes/regexp/simple/template.md +9 -0
- data/markdown/readme/classes/regexp/template.md +5 -0
- data/markdown/readme/classes/set/circular/show.md +4 -2
- data/markdown/readme/classes/set/circular/show.yaml +4 -2
- data/markdown/readme/classes/set/mixed/show.md +6 -3
- data/markdown/readme/classes/set/mixed/show.yaml +6 -3
- data/markdown/readme/classes/set/nested/show.md +6 -3
- data/markdown/readme/classes/set/nested/show.yaml +6 -3
- data/markdown/readme/classes/set/simple/show.md +2 -1
- data/markdown/readme/classes/set/simple/show.yaml +2 -1
- data/markdown/readme/classes/string/multiline/show.md +2 -1
- data/markdown/readme/classes/string/multiline/show.yaml +2 -1
- data/markdown/readme/classes/string/simple/show.md +2 -1
- data/markdown/readme/classes/string/simple/show.yaml +2 -1
- data/markdown/readme/classes/struct/circular/show.md +34 -8
- data/markdown/readme/classes/struct/circular/show.yaml +34 -8
- data/markdown/readme/classes/struct/mixed/show.md +21 -6
- data/markdown/readme/classes/struct/mixed/show.yaml +21 -6
- data/markdown/readme/classes/struct/nested/show.md +36 -9
- data/markdown/readme/classes/struct/nested/show.yaml +36 -9
- data/markdown/readme/classes/struct/simple/show.md +17 -4
- data/markdown/readme/classes/struct/simple/show.yaml +17 -4
- data/markdown/readme/classes/symbol/simple/show.md +2 -1
- data/markdown/readme/classes/symbol/simple/show.yaml +2 -1
- data/markdown/readme/options/depth/show.md +30 -15
- data/markdown/readme/options/depth/show.yaml +30 -15
- data/markdown/readme/template.md +8 -8
- metadata +88 -14
- data/markdown/readme/classes/object/datetime/show.md +0 -18
- data/markdown/readme/classes/object/datetime/show.rb +0 -4
- data/markdown/readme/classes/object/datetime/show.yaml +0 -1
- data/markdown/readme/classes/object/datetime/template.md +0 -9
- data/markdown/readme/classes/object/range/show.md +0 -19
- data/markdown/readme/classes/object/range/show.rb +0 -4
- data/markdown/readme/classes/object/range/show.yaml +0 -2
- data/markdown/readme/classes/object/range/template.md +0 -9
- data/markdown/readme/classes/object/regexp/show.md +0 -19
- data/markdown/readme/classes/object/regexp/show.rb +0 -4
- data/markdown/readme/classes/object/regexp/show.yaml +0 -2
- data/markdown/readme/classes/object/regexp/template.md +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b96c161aefd3636445bc0a68e63f815057037060
|
4
|
+
data.tar.gz: 9c6de8c9b4f3d358d404a60437a5a4ccbda7894e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd4ff02ad1a77f4c2163cabd5d02c6cee83d6570e2ae2ef33bb674ac984a94ccf994f4307ddc1762df288edcae77aa0543e21b437e4e55a50bcc36f9438fbc70
|
7
|
+
data.tar.gz: bdca4596038096b29f17a7e82c4f4488af737f50c23a50f3d7ae20ab7d2cfc84c2f708cd660c66b12bbdba0fa2eacbac28c20ebafbe9d24f2c7442386031107b
|
data/Gemfile.lock
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
debug_helper (1.
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
minitest (5.11.3)
|
10
|
-
rake (10.5.0)
|
11
|
-
|
12
|
-
PLATFORMS
|
13
|
-
x64-mingw32
|
14
|
-
|
15
|
-
DEPENDENCIES
|
16
|
-
bundler (~> 1.16)
|
17
|
-
debug_helper!
|
18
|
-
minitest (~> 5.0)
|
19
|
-
rake (~> 10.0)
|
20
|
-
|
21
|
-
BUNDLED WITH
|
22
|
-
1.16.2
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
debug_helper (1.8.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
minitest (5.11.3)
|
10
|
+
rake (10.5.0)
|
11
|
+
|
12
|
+
PLATFORMS
|
13
|
+
x64-mingw32
|
14
|
+
|
15
|
+
DEPENDENCIES
|
16
|
+
bundler (~> 1.16)
|
17
|
+
debug_helper!
|
18
|
+
minitest (~> 5.0)
|
19
|
+
rake (~> 10.0)
|
20
|
+
|
21
|
+
BUNDLED WITH
|
22
|
+
1.16.2
|
data/README.md
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Debug Helper
|
2
2
|
|
3
|
-
## New in Version 1.
|
3
|
+
## New in Version 1.8
|
4
4
|
|
5
5
|
Classes analyzed:
|
6
6
|
|
7
|
-
- [
|
8
|
-
- [
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
- [
|
7
|
+
- [Dir](#dir)
|
8
|
+
- [Exception](#exception)
|
9
|
+
- [Range](#range)
|
10
|
+
- [Regexp](#regexp)
|
11
|
+
- [IO](#io)
|
12
|
+
- [MatchData](#matchdata)
|
13
13
|
|
14
14
|
## About Debug Helper
|
15
15
|
|
@@ -35,19 +35,26 @@ This helper assists in debugging by printing an analysis of a given object. The
|
|
35
35
|
|
36
36
|
For certain classes (see below), the analysis is very detailed.
|
37
37
|
|
38
|
-
For the collection classes ```Array```, ```Hash```, and ```
|
38
|
+
For the collection classes ```Array```, ```Hash```, ```Struct```, ```Set```, and ```OpenStruct```, the analysis is also recursive; that is, the collection's values are themselves analyzed.
|
39
39
|
|
40
40
|
You can control the depth of recursion using option ```depth```. See [Options](#options).
|
41
41
|
|
42
42
|
Classes treated in detail:
|
43
43
|
|
44
44
|
- [Array](#array)
|
45
|
+
- [Dir](#dir)
|
46
|
+
- [Exception](#exception)
|
47
|
+
- [File](#file)
|
45
48
|
- [Hash](#hash)
|
46
|
-
- [
|
49
|
+
- [IO](#io)
|
50
|
+
- [MatchData](#matchdata)
|
51
|
+
- [OpenStruct](#openstruct)
|
52
|
+
- [Range](#range)
|
53
|
+
- [Regexp](#regexp)
|
54
|
+
- [Set](#set)
|
47
55
|
- [String](#string)
|
56
|
+
- [Struct](#struct)
|
48
57
|
- [Symbol](#symbol)
|
49
|
-
- [File](#file)
|
50
|
-
- [Set](#set)
|
51
58
|
|
52
59
|
Others are treated as:
|
53
60
|
|
@@ -91,7 +98,8 @@ The output shows details of the array.
|
|
91
98
|
```show.yaml```:
|
92
99
|
```yaml
|
93
100
|
---
|
94
|
-
Array (message='My simple array'
|
101
|
+
Array (message='My simple array'):
|
102
|
+
size: 3
|
95
103
|
Element 0: Fixnum 5
|
96
104
|
Element 1: Fixnum 10
|
97
105
|
Element 2: Fixnum 15
|
@@ -114,17 +122,20 @@ The output shows details of the array.
|
|
114
122
|
```show.yaml```:
|
115
123
|
```yaml
|
116
124
|
---
|
117
|
-
Array (message='My mixed array'
|
125
|
+
Array (message='My mixed array'):
|
126
|
+
size: 3
|
118
127
|
Element 0: Fixnum 0
|
119
128
|
Element 1:
|
120
|
-
String
|
129
|
+
String:
|
121
130
|
to_s: one
|
131
|
+
size: 3
|
122
132
|
encoding: !ruby/encoding UTF-8
|
123
133
|
ascii_only?: true
|
124
134
|
bytesize: 3
|
125
135
|
Element 2:
|
126
|
-
Symbol
|
136
|
+
Symbol:
|
127
137
|
to_s: two
|
138
|
+
size: 3
|
128
139
|
encoding: !ruby/encoding US-ASCII
|
129
140
|
```
|
130
141
|
|
@@ -145,14 +156,17 @@ The output shows details of the arrays.
|
|
145
156
|
```show.yaml```:
|
146
157
|
```yaml
|
147
158
|
---
|
148
|
-
Array (message='My nested arrays'
|
159
|
+
Array (message='My nested arrays'):
|
160
|
+
size: 3
|
149
161
|
Element 0: Fixnum 0
|
150
162
|
Element 1:
|
151
|
-
Array
|
163
|
+
Array:
|
164
|
+
size: 2
|
152
165
|
Element 0: Fixnum 1
|
153
166
|
Element 1: Fixnum 2
|
154
167
|
Element 2:
|
155
|
-
Array
|
168
|
+
Array:
|
169
|
+
size: 2
|
156
170
|
Element 0: Fixnum 3
|
157
171
|
Element 1: Fixnum 4
|
158
172
|
```
|
@@ -179,11 +193,127 @@ The circular reference is not followed.
|
|
179
193
|
```show.yaml```:
|
180
194
|
```yaml
|
181
195
|
---
|
182
|
-
Array (message='My circular arrays'
|
196
|
+
Array (message='My circular arrays'):
|
197
|
+
size: 1
|
183
198
|
Element 0:
|
184
|
-
Array
|
199
|
+
Array:
|
200
|
+
size: 1
|
185
201
|
Element 0: Array [[[...]]]
|
186
202
|
```
|
203
|
+
### Dir
|
204
|
+
|
205
|
+
#### Simple Dir
|
206
|
+
|
207
|
+
This example shows a simple ```Dir```.
|
208
|
+
|
209
|
+
```show.rb```:
|
210
|
+
```ruby
|
211
|
+
require 'debug_helper'
|
212
|
+
|
213
|
+
dir = Dir.new(File.dirname(__FILE__))
|
214
|
+
DebugHelper.show(dir, 'My simple dir')
|
215
|
+
```
|
216
|
+
|
217
|
+
The output shows details of the ```Dir```.
|
218
|
+
|
219
|
+
```show.yaml```:
|
220
|
+
```yaml
|
221
|
+
---
|
222
|
+
Dir (message='My simple dir'):
|
223
|
+
path: "."
|
224
|
+
entries:
|
225
|
+
- "."
|
226
|
+
- ".."
|
227
|
+
- show.md
|
228
|
+
- show.rb
|
229
|
+
- show.yaml
|
230
|
+
- template.md
|
231
|
+
exist?: true
|
232
|
+
```
|
233
|
+
### Exception
|
234
|
+
|
235
|
+
#### Simple Exception
|
236
|
+
|
237
|
+
This example shows a simple ```Exception```.
|
238
|
+
|
239
|
+
```show.rb```:
|
240
|
+
```ruby
|
241
|
+
require 'debug_helper'
|
242
|
+
|
243
|
+
def foo
|
244
|
+
exception = nil
|
245
|
+
begin
|
246
|
+
raise Exception.new('Boo!')
|
247
|
+
rescue Exception => exception
|
248
|
+
# Already saved.
|
249
|
+
end
|
250
|
+
DebugHelper.show(exception, 'My simple exception')
|
251
|
+
end
|
252
|
+
|
253
|
+
def bar
|
254
|
+
foo
|
255
|
+
end
|
256
|
+
|
257
|
+
def baz
|
258
|
+
bar
|
259
|
+
end
|
260
|
+
|
261
|
+
baz
|
262
|
+
|
263
|
+
```
|
264
|
+
|
265
|
+
The output shows details of the ```Exception```.
|
266
|
+
|
267
|
+
```show.yaml```:
|
268
|
+
```yaml
|
269
|
+
---
|
270
|
+
Exception (message='My simple exception'):
|
271
|
+
message: Boo!
|
272
|
+
cause:
|
273
|
+
backtrace:
|
274
|
+
- show.rb:6:in `foo'
|
275
|
+
- show.rb:14:in `bar'
|
276
|
+
- show.rb:18:in `baz'
|
277
|
+
- show.rb:21:in `<main>'
|
278
|
+
```
|
279
|
+
### File
|
280
|
+
|
281
|
+
#### Simple File
|
282
|
+
|
283
|
+
This example shows a simple file.
|
284
|
+
|
285
|
+
```show.rb```:
|
286
|
+
```ruby
|
287
|
+
require 'debug_helper'
|
288
|
+
|
289
|
+
file = File.new(__FILE__)
|
290
|
+
DebugHelper.show(file, 'My simple file')
|
291
|
+
```
|
292
|
+
|
293
|
+
The output shows details of the file.
|
294
|
+
|
295
|
+
```show.yaml```:
|
296
|
+
```yaml
|
297
|
+
---
|
298
|
+
File (message='My simple file'):
|
299
|
+
absolute_path: C:/Users/Burdette/Documents/GitHub/debug_helper/markdown/readme/classes/file/simple/show.rb
|
300
|
+
atime: 2018-07-14 12:45:32.000000000 -05:00
|
301
|
+
ctime: 2018-07-14 12:45:32.000000000 -05:00
|
302
|
+
executable?: false
|
303
|
+
exist?: true
|
304
|
+
ftype: file
|
305
|
+
mtime: 2018-07-14 12:45:32.000000000 -05:00
|
306
|
+
path: show.rb
|
307
|
+
pipe?: false
|
308
|
+
readable?: true
|
309
|
+
realpath: C:/Users/Burdette/Documents/GitHub/debug_helper/markdown/readme/classes/file/simple/show.rb
|
310
|
+
setgid?: false
|
311
|
+
setuid?: false
|
312
|
+
size: 95
|
313
|
+
socket?: false
|
314
|
+
symlink?: false
|
315
|
+
writable?: true
|
316
|
+
```
|
187
317
|
### Hash
|
188
318
|
|
189
319
|
#### Simple Hash
|
@@ -203,23 +333,29 @@ The output shows details of the hash.
|
|
203
333
|
```show.yaml```:
|
204
334
|
```yaml
|
205
335
|
---
|
206
|
-
Hash (
|
336
|
+
Hash (message='My simple hash'):
|
337
|
+
size: 3
|
338
|
+
default:
|
339
|
+
default_proc:
|
207
340
|
Pair 0:
|
208
341
|
Key:
|
209
|
-
Symbol
|
342
|
+
Symbol:
|
210
343
|
to_s: a
|
344
|
+
size: 1
|
211
345
|
encoding: !ruby/encoding US-ASCII
|
212
346
|
Value: Fixnum 0
|
213
347
|
Pair 1:
|
214
348
|
Key:
|
215
|
-
Symbol
|
349
|
+
Symbol:
|
216
350
|
to_s: b
|
351
|
+
size: 1
|
217
352
|
encoding: !ruby/encoding US-ASCII
|
218
353
|
Value: Fixnum 1
|
219
354
|
Pair 2:
|
220
355
|
Key:
|
221
|
-
Symbol
|
356
|
+
Symbol:
|
222
357
|
to_s: c
|
358
|
+
size: 1
|
223
359
|
encoding: !ruby/encoding US-ASCII
|
224
360
|
Value: Fixnum 2
|
225
361
|
```
|
@@ -245,32 +381,40 @@ The output shows details of the hash.
|
|
245
381
|
```show.yaml```:
|
246
382
|
```yaml
|
247
383
|
---
|
248
|
-
Hash (
|
384
|
+
Hash (message='My mixed hash'):
|
385
|
+
size: 3
|
386
|
+
default:
|
387
|
+
default_proc:
|
249
388
|
Pair 0:
|
250
389
|
Key:
|
251
|
-
Symbol
|
390
|
+
Symbol:
|
252
391
|
to_s: a
|
392
|
+
size: 1
|
253
393
|
encoding: !ruby/encoding US-ASCII
|
254
394
|
Value: Fixnum 0
|
255
395
|
Pair 1:
|
256
396
|
Key:
|
257
|
-
Symbol
|
397
|
+
Symbol:
|
258
398
|
to_s: b
|
399
|
+
size: 1
|
259
400
|
encoding: !ruby/encoding US-ASCII
|
260
401
|
Value:
|
261
|
-
String
|
402
|
+
String:
|
262
403
|
to_s: one
|
404
|
+
size: 3
|
263
405
|
encoding: !ruby/encoding UTF-8
|
264
406
|
ascii_only?: true
|
265
407
|
bytesize: 3
|
266
408
|
Pair 2:
|
267
409
|
Key:
|
268
|
-
Symbol
|
410
|
+
Symbol:
|
269
411
|
to_s: c
|
412
|
+
size: 1
|
270
413
|
encoding: !ruby/encoding US-ASCII
|
271
414
|
Value:
|
272
|
-
Symbol
|
415
|
+
Symbol:
|
273
416
|
to_s: two
|
417
|
+
size: 3
|
274
418
|
encoding: !ruby/encoding US-ASCII
|
275
419
|
```
|
276
420
|
|
@@ -300,43 +444,58 @@ The output shows details of the hashes.
|
|
300
444
|
```show.yaml```:
|
301
445
|
```yaml
|
302
446
|
---
|
303
|
-
Hash (
|
447
|
+
Hash (message='My nested hash'):
|
448
|
+
size: 2
|
449
|
+
default:
|
450
|
+
default_proc:
|
304
451
|
Pair 0:
|
305
452
|
Key:
|
306
|
-
Symbol
|
453
|
+
Symbol:
|
307
454
|
to_s: a
|
455
|
+
size: 1
|
308
456
|
encoding: !ruby/encoding US-ASCII
|
309
457
|
Value:
|
310
|
-
Hash
|
458
|
+
Hash:
|
459
|
+
size: 2
|
460
|
+
default:
|
461
|
+
default_proc:
|
311
462
|
Pair 0:
|
312
463
|
Key:
|
313
|
-
Symbol
|
464
|
+
Symbol:
|
314
465
|
to_s: b
|
466
|
+
size: 1
|
315
467
|
encoding: !ruby/encoding US-ASCII
|
316
468
|
Value: Fixnum 0
|
317
469
|
Pair 1:
|
318
470
|
Key:
|
319
|
-
Symbol
|
471
|
+
Symbol:
|
320
472
|
to_s: c
|
473
|
+
size: 1
|
321
474
|
encoding: !ruby/encoding US-ASCII
|
322
475
|
Value: Fixnum 1
|
323
476
|
Pair 1:
|
324
477
|
Key:
|
325
|
-
Symbol
|
478
|
+
Symbol:
|
326
479
|
to_s: d
|
480
|
+
size: 1
|
327
481
|
encoding: !ruby/encoding US-ASCII
|
328
482
|
Value:
|
329
|
-
Hash
|
483
|
+
Hash:
|
484
|
+
size: 2
|
485
|
+
default:
|
486
|
+
default_proc:
|
330
487
|
Pair 0:
|
331
488
|
Key:
|
332
|
-
Symbol
|
489
|
+
Symbol:
|
333
490
|
to_s: e
|
491
|
+
size: 1
|
334
492
|
encoding: !ruby/encoding US-ASCII
|
335
493
|
Value: Fixnum 2
|
336
494
|
Pair 1:
|
337
495
|
Key:
|
338
|
-
Symbol
|
496
|
+
Symbol:
|
339
497
|
to_s: f
|
498
|
+
size: 1
|
340
499
|
encoding: !ruby/encoding US-ASCII
|
341
500
|
Value: Fixnum 3
|
342
501
|
```
|
@@ -363,293 +522,458 @@ The circular reference is not followed.
|
|
363
522
|
```show.yaml```:
|
364
523
|
```yaml
|
365
524
|
---
|
366
|
-
Hash (
|
525
|
+
Hash (message='My circular hashes'):
|
526
|
+
size: 1
|
527
|
+
default:
|
528
|
+
default_proc:
|
367
529
|
Pair 0:
|
368
530
|
Key:
|
369
|
-
Symbol
|
531
|
+
Symbol:
|
370
532
|
to_s: foo
|
533
|
+
size: 3
|
371
534
|
encoding: !ruby/encoding US-ASCII
|
372
535
|
Value:
|
373
|
-
Hash
|
536
|
+
Hash:
|
537
|
+
size: 1
|
538
|
+
default:
|
539
|
+
default_proc:
|
374
540
|
Pair 0:
|
375
541
|
Key:
|
376
|
-
Symbol
|
542
|
+
Symbol:
|
377
543
|
to_s: bar
|
544
|
+
size: 3
|
378
545
|
encoding: !ruby/encoding US-ASCII
|
379
546
|
Value: Hash {:foo=>{:bar=>{...}}}
|
380
547
|
```
|
381
|
-
###
|
548
|
+
### IO
|
382
549
|
|
383
|
-
#### Simple
|
550
|
+
#### Simple IO
|
384
551
|
|
385
|
-
This example shows a simple
|
552
|
+
This example shows a simple ```IO```.
|
386
553
|
|
387
554
|
```show.rb```:
|
388
555
|
```ruby
|
389
556
|
require 'debug_helper'
|
390
557
|
|
391
|
-
|
392
|
-
|
393
|
-
DebugHelper.show(struct, 'My simple struct')
|
558
|
+
io = IO.new(IO.sysopen(__FILE__, 'r'), 'r')
|
559
|
+
DebugHelper.show(io, 'My simple io')
|
394
560
|
```
|
395
561
|
|
396
|
-
The output shows details of the
|
562
|
+
The output shows details of the ```IO```.
|
563
|
+
|
564
|
+
```show.yaml```:
|
565
|
+
```yaml
|
566
|
+
---
|
567
|
+
IO (message='My simple io'):
|
568
|
+
autoclose?: true
|
569
|
+
binmode?: false
|
570
|
+
closed?: false
|
571
|
+
tty?: false
|
572
|
+
```
|
573
|
+
### MatchData
|
574
|
+
|
575
|
+
#### Simple MatchData
|
576
|
+
|
577
|
+
This example shows a simple ```MatchData```.
|
578
|
+
|
579
|
+
```show.rb```:
|
580
|
+
```ruby
|
581
|
+
require 'debug_helper'
|
582
|
+
|
583
|
+
match_data = /[a-z]/.match('abc')
|
584
|
+
DebugHelper.show(match_data, 'My simple MatchData')
|
585
|
+
```
|
586
|
+
|
587
|
+
The output shows details of the ```MatchData```.
|
588
|
+
|
589
|
+
```show.yaml```:
|
590
|
+
```yaml
|
591
|
+
---
|
592
|
+
MatchData (message='My simple MatchData'):
|
593
|
+
size: 1
|
594
|
+
regexp: !ruby/regexp /[a-z]/
|
595
|
+
to_a:
|
596
|
+
- a
|
597
|
+
captures: []
|
598
|
+
names: []
|
599
|
+
```
|
600
|
+
|
601
|
+
#### Multiple Captures
|
602
|
+
|
603
|
+
This example shows a ```MatchData``` with multiple captures.
|
604
|
+
|
605
|
+
```show.rb```:
|
606
|
+
```ruby
|
607
|
+
require 'debug_helper'
|
608
|
+
|
609
|
+
match_data = /(.)(.)(\d+)(\d)/.match('THX1138.')
|
610
|
+
DebugHelper.show(match_data, 'My MatchData with named captures')
|
611
|
+
```
|
612
|
+
|
613
|
+
The output shows details of the ```MatchData```.
|
397
614
|
|
398
615
|
```show.yaml```:
|
399
616
|
```yaml
|
400
617
|
---
|
401
|
-
|
618
|
+
MatchData (message='My MatchData with named captures'):
|
619
|
+
size: 5
|
620
|
+
regexp: !ruby/regexp /(.)(.)(\d+)(\d)/
|
621
|
+
to_a:
|
622
|
+
- HX1138
|
623
|
+
- H
|
624
|
+
- X
|
625
|
+
- '113'
|
626
|
+
- '8'
|
627
|
+
captures:
|
628
|
+
- H
|
629
|
+
- X
|
630
|
+
- '113'
|
631
|
+
- '8'
|
632
|
+
names: []
|
633
|
+
```
|
634
|
+
|
635
|
+
#### Named Captures
|
636
|
+
|
637
|
+
This example shows a ```MatchData``` with named captures.
|
638
|
+
|
639
|
+
```show.rb```:
|
640
|
+
```ruby
|
641
|
+
require 'debug_helper'
|
642
|
+
|
643
|
+
match_data = /(?<x>.)(?<y>.)?/.match("a")
|
644
|
+
DebugHelper.show(match_data, 'My MatchData with named captures')
|
645
|
+
```
|
646
|
+
|
647
|
+
The output shows details of the ```MatchData```.
|
648
|
+
|
649
|
+
```show.yaml```:
|
650
|
+
```yaml
|
651
|
+
---
|
652
|
+
MatchData (message='My MatchData with named captures'):
|
653
|
+
size: 3
|
654
|
+
regexp: !ruby/regexp /(?<x>.)(?<y>.)?/
|
655
|
+
to_a:
|
656
|
+
- a
|
657
|
+
- a
|
658
|
+
-
|
659
|
+
captures:
|
660
|
+
- a
|
661
|
+
-
|
662
|
+
names:
|
663
|
+
- x
|
664
|
+
- y
|
665
|
+
```
|
666
|
+
### OpenStruct
|
667
|
+
|
668
|
+
#### Simple OpenStruct
|
669
|
+
|
670
|
+
This example shows a simple open struct.
|
671
|
+
|
672
|
+
```show.rb```:
|
673
|
+
```ruby
|
674
|
+
require 'ostruct'
|
675
|
+
require 'debug_helper'
|
676
|
+
|
677
|
+
ostruct = OpenStruct.new(:a => 0, :b => 1, :c => 2)
|
678
|
+
DebugHelper.show(ostruct, 'My simple struct')
|
679
|
+
```
|
680
|
+
|
681
|
+
The output shows details of the open struct.
|
682
|
+
|
683
|
+
```show.yaml```:
|
684
|
+
```yaml
|
685
|
+
---
|
686
|
+
OpenStruct (message='My simple struct'):
|
402
687
|
Member 0:
|
403
|
-
Name:
|
688
|
+
Name:
|
689
|
+
Symbol:
|
690
|
+
to_s: a
|
691
|
+
size: 1
|
692
|
+
encoding: !ruby/encoding US-ASCII
|
404
693
|
Value: Fixnum 0
|
405
694
|
Member 1:
|
406
|
-
Name:
|
695
|
+
Name:
|
696
|
+
Symbol:
|
697
|
+
to_s: b
|
698
|
+
size: 1
|
699
|
+
encoding: !ruby/encoding US-ASCII
|
407
700
|
Value: Fixnum 1
|
408
701
|
Member 2:
|
409
|
-
Name:
|
702
|
+
Name:
|
703
|
+
Symbol:
|
704
|
+
to_s: c
|
705
|
+
size: 1
|
706
|
+
encoding: !ruby/encoding US-ASCII
|
410
707
|
Value: Fixnum 2
|
411
708
|
```
|
412
709
|
|
413
|
-
#### Mixed
|
710
|
+
#### Mixed OpenStruct
|
414
711
|
|
415
|
-
This example shows
|
712
|
+
This example shows an open struct of mixed values.
|
416
713
|
|
417
714
|
```show.rb```:
|
418
715
|
```ruby
|
716
|
+
require 'ostruct'
|
419
717
|
require 'debug_helper'
|
420
718
|
|
421
|
-
|
422
|
-
|
423
|
-
DebugHelper.show(struct, 'My mixed struct')
|
719
|
+
ostruct = OpenStruct.new(:a => 0, :b => 'one', :c => :two)
|
720
|
+
DebugHelper.show(ostruct, 'My mixed open struct')
|
424
721
|
```
|
425
722
|
|
426
|
-
The output shows details of the struct.
|
723
|
+
The output shows details of the open struct.
|
427
724
|
|
428
725
|
```show.yaml```:
|
429
726
|
```yaml
|
430
727
|
---
|
431
|
-
|
728
|
+
OpenStruct (message='My mixed open struct'):
|
432
729
|
Member 0:
|
433
|
-
Name:
|
730
|
+
Name:
|
731
|
+
Symbol:
|
732
|
+
to_s: a
|
733
|
+
size: 1
|
734
|
+
encoding: !ruby/encoding US-ASCII
|
434
735
|
Value: Fixnum 0
|
435
736
|
Member 1:
|
436
|
-
Name:
|
737
|
+
Name:
|
738
|
+
Symbol:
|
739
|
+
to_s: b
|
740
|
+
size: 1
|
741
|
+
encoding: !ruby/encoding US-ASCII
|
437
742
|
Value:
|
438
|
-
String
|
743
|
+
String:
|
439
744
|
to_s: one
|
745
|
+
size: 3
|
440
746
|
encoding: !ruby/encoding UTF-8
|
441
747
|
ascii_only?: true
|
442
748
|
bytesize: 3
|
443
749
|
Member 2:
|
444
|
-
Name:
|
750
|
+
Name:
|
751
|
+
Symbol:
|
752
|
+
to_s: c
|
753
|
+
size: 1
|
754
|
+
encoding: !ruby/encoding US-ASCII
|
445
755
|
Value:
|
446
|
-
Symbol
|
756
|
+
Symbol:
|
447
757
|
to_s: two
|
758
|
+
size: 3
|
448
759
|
encoding: !ruby/encoding US-ASCII
|
449
760
|
```
|
450
761
|
|
451
|
-
#### Nested
|
762
|
+
#### Nested OpenStructs
|
452
763
|
|
453
|
-
This example shows nested structs.
|
764
|
+
This example shows nested open structs.
|
454
765
|
|
455
766
|
```show.rb```:
|
456
767
|
```ruby
|
768
|
+
require 'ostruct'
|
457
769
|
require 'debug_helper'
|
458
770
|
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
771
|
+
ostruct = OpenStruct.new(
|
772
|
+
:a => OpenStruct.new(
|
773
|
+
:b => 0,
|
774
|
+
:c => 1,
|
775
|
+
),
|
776
|
+
:d => OpenStruct.new(
|
777
|
+
:e => 2,
|
778
|
+
:f => 3,
|
779
|
+
)
|
780
|
+
)
|
781
|
+
DebugHelper.show(ostruct, 'My nested struct')
|
465
782
|
```
|
466
783
|
|
467
|
-
The output shows details of the structs.
|
784
|
+
The output shows details of the open structs.
|
468
785
|
|
469
786
|
```show.yaml```:
|
470
787
|
```yaml
|
471
788
|
---
|
472
|
-
|
789
|
+
OpenStruct (message='My nested struct'):
|
473
790
|
Member 0:
|
474
|
-
Name:
|
791
|
+
Name:
|
792
|
+
Symbol:
|
793
|
+
to_s: a
|
794
|
+
size: 1
|
795
|
+
encoding: !ruby/encoding US-ASCII
|
475
796
|
Value:
|
476
|
-
|
797
|
+
OpenStruct:
|
477
798
|
Member 0:
|
478
|
-
Name:
|
479
|
-
|
799
|
+
Name:
|
800
|
+
Symbol:
|
801
|
+
to_s: b
|
802
|
+
size: 1
|
803
|
+
encoding: !ruby/encoding US-ASCII
|
804
|
+
Value: Fixnum 0
|
480
805
|
Member 1:
|
481
|
-
Name:
|
482
|
-
|
806
|
+
Name:
|
807
|
+
Symbol:
|
808
|
+
to_s: c
|
809
|
+
size: 1
|
810
|
+
encoding: !ruby/encoding US-ASCII
|
811
|
+
Value: Fixnum 1
|
483
812
|
Member 1:
|
484
|
-
Name:
|
813
|
+
Name:
|
814
|
+
Symbol:
|
815
|
+
to_s: d
|
816
|
+
size: 1
|
817
|
+
encoding: !ruby/encoding US-ASCII
|
485
818
|
Value:
|
486
|
-
|
819
|
+
OpenStruct:
|
487
820
|
Member 0:
|
488
|
-
Name:
|
489
|
-
|
821
|
+
Name:
|
822
|
+
Symbol:
|
823
|
+
to_s: e
|
824
|
+
size: 1
|
825
|
+
encoding: !ruby/encoding US-ASCII
|
826
|
+
Value: Fixnum 2
|
490
827
|
Member 1:
|
491
|
-
Name:
|
492
|
-
|
828
|
+
Name:
|
829
|
+
Symbol:
|
830
|
+
to_s: f
|
831
|
+
size: 1
|
832
|
+
encoding: !ruby/encoding US-ASCII
|
833
|
+
Value: Fixnum 3
|
493
834
|
```
|
494
835
|
|
495
|
-
#### Circular
|
836
|
+
#### Circular OpenStructs
|
496
837
|
|
497
|
-
This example shows structs that make a circular reference.
|
838
|
+
This example shows open structs that make a circular reference.
|
498
839
|
|
499
840
|
```show.rb```:
|
500
841
|
```ruby
|
842
|
+
require 'ostruct'
|
501
843
|
require 'debug_helper'
|
502
844
|
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
DebugHelper.show(struct_0, 'My circular struct')
|
845
|
+
ostruct_0 = OpenStruct.new
|
846
|
+
ostruct_1 = OpenStruct.new
|
847
|
+
ostruct_0.a = ostruct_1
|
848
|
+
ostruct_1.a = ostruct_0
|
849
|
+
DebugHelper.show(ostruct_0, 'My circular ostruct')
|
509
850
|
```
|
510
851
|
|
511
|
-
The output shows details of the structs.
|
852
|
+
The output shows details of the open structs.
|
512
853
|
|
513
854
|
The circular reference is not followed.
|
514
855
|
|
515
856
|
```show.yaml```:
|
516
857
|
```yaml
|
517
858
|
---
|
518
|
-
|
859
|
+
OpenStruct (message='My circular ostruct'):
|
519
860
|
Member 0:
|
520
|
-
Name:
|
861
|
+
Name:
|
862
|
+
Symbol:
|
863
|
+
to_s: a
|
864
|
+
size: 1
|
865
|
+
encoding: !ruby/encoding US-ASCII
|
521
866
|
Value:
|
522
|
-
|
867
|
+
OpenStruct:
|
523
868
|
Member 0:
|
524
|
-
Name:
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
Value:
|
530
|
-
Member 2:
|
531
|
-
Name: :c
|
532
|
-
Value: Fixnum 5
|
533
|
-
Member 1:
|
534
|
-
Name: :b
|
535
|
-
Value: Fixnum 1
|
536
|
-
Member 2:
|
537
|
-
Name: :c
|
538
|
-
Value: Fixnum 2
|
869
|
+
Name:
|
870
|
+
Symbol:
|
871
|
+
to_s: a
|
872
|
+
size: 1
|
873
|
+
encoding: !ruby/encoding US-ASCII
|
874
|
+
Value: 'OpenStruct #<OpenStruct a=#<OpenStruct a=#<OpenStruct ...>>>'
|
539
875
|
```
|
540
|
-
###
|
876
|
+
### Range
|
541
877
|
|
542
|
-
####
|
878
|
+
#### Inclusive Range
|
543
879
|
|
544
|
-
This example shows a
|
880
|
+
This example shows a ```Range``` that includes its end value.
|
545
881
|
|
546
882
|
```show.rb```:
|
547
883
|
```ruby
|
548
884
|
require 'debug_helper'
|
549
885
|
|
550
|
-
|
551
|
-
DebugHelper.show(
|
886
|
+
range = (0..4)
|
887
|
+
DebugHelper.show(range, 'My inclusive range')
|
552
888
|
```
|
553
889
|
|
554
|
-
The output shows details of the
|
890
|
+
The output shows details of the ```Range```.
|
555
891
|
|
556
892
|
```show.yaml```:
|
557
893
|
```yaml
|
558
894
|
---
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
bytesize: 11
|
895
|
+
Range (message='My inclusive range'):
|
896
|
+
first: 0
|
897
|
+
last: 4
|
898
|
+
exclude_end?: false
|
564
899
|
```
|
565
900
|
|
566
|
-
####
|
901
|
+
#### Exclusive Range
|
567
902
|
|
568
|
-
This example shows a
|
903
|
+
This example shows a ```Range``` that excludes its end value.
|
569
904
|
|
570
905
|
```show.rb```:
|
571
906
|
```ruby
|
572
907
|
require 'debug_helper'
|
573
908
|
|
574
|
-
|
575
|
-
|
576
|
-
sed doeiusmod tempor incididunt ut laboreet dolore magna aliqua.
|
577
|
-
EOT
|
578
|
-
DebugHelper.show(s, 'My multiline string')
|
909
|
+
range = (0...4)
|
910
|
+
DebugHelper.show(range, 'My exclusive range')
|
579
911
|
```
|
580
912
|
|
581
|
-
The output shows details of the
|
913
|
+
The output shows details of the ```Range```.
|
582
914
|
|
583
915
|
```show.yaml```:
|
584
916
|
```yaml
|
585
917
|
---
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
encoding: !ruby/encoding UTF-8
|
591
|
-
ascii_only?: true
|
592
|
-
bytesize: 122
|
918
|
+
Range (message='My exclusive range'):
|
919
|
+
first: 0
|
920
|
+
last: 4
|
921
|
+
exclude_end?: true
|
593
922
|
```
|
594
|
-
###
|
923
|
+
### Regexp
|
595
924
|
|
596
|
-
#### Simple
|
925
|
+
#### Simple Regexp
|
597
926
|
|
598
|
-
This example shows a simple
|
927
|
+
This example shows a simple ```Regexp```.
|
599
928
|
|
600
929
|
```show.rb```:
|
601
930
|
```ruby
|
602
931
|
require 'debug_helper'
|
603
932
|
|
604
|
-
|
933
|
+
regexp = Regexp.new(/\w+/)
|
934
|
+
DebugHelper.show(regexp, 'My simple regexp')
|
605
935
|
```
|
606
936
|
|
607
|
-
The output shows details of the
|
937
|
+
The output shows details of the ```Regexp```.
|
608
938
|
|
609
939
|
```show.yaml```:
|
610
940
|
```yaml
|
611
941
|
---
|
612
|
-
|
613
|
-
to_s:
|
942
|
+
Regexp (message='My simple regexp'):
|
943
|
+
to_s: "(?-mix:\\w+)"
|
944
|
+
casefold?: false
|
945
|
+
named_captures: {}
|
614
946
|
encoding: !ruby/encoding US-ASCII
|
947
|
+
fixed_encoding?: false
|
615
948
|
```
|
616
|
-
### File
|
617
949
|
|
618
|
-
####
|
950
|
+
#### Named Captures
|
619
951
|
|
620
|
-
This example shows a
|
952
|
+
This example shows a ```Regexp``` with named captures.
|
621
953
|
|
622
954
|
```show.rb```:
|
623
955
|
```ruby
|
624
956
|
require 'debug_helper'
|
625
957
|
|
626
|
-
|
627
|
-
DebugHelper.show(
|
958
|
+
regexp = Regexp.new(/(?<a>.)(?<b>.)/)
|
959
|
+
DebugHelper.show(regexp, 'My regexp with named captures')
|
628
960
|
```
|
629
961
|
|
630
|
-
The output shows details of the
|
962
|
+
The output shows details of the ```Regexp```.
|
631
963
|
|
632
964
|
```show.yaml```:
|
633
965
|
```yaml
|
634
966
|
---
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
readable?: true
|
646
|
-
realpath: C:/Users/Burdette/Documents/GitHub/debug_helper/markdown/readme/classes/file/simple/show.rb
|
647
|
-
setgid?: false
|
648
|
-
setuid?: false
|
649
|
-
size: 95
|
650
|
-
socket?: false
|
651
|
-
symlink?: false
|
652
|
-
writable?: true
|
967
|
+
Regexp (message='My regexp with named captures'):
|
968
|
+
to_s: "(?-mix:(?<a>.)(?<b>.))"
|
969
|
+
casefold?: false
|
970
|
+
named_captures:
|
971
|
+
a:
|
972
|
+
- 1
|
973
|
+
b:
|
974
|
+
- 2
|
975
|
+
encoding: !ruby/encoding US-ASCII
|
976
|
+
fixed_encoding?: false
|
653
977
|
```
|
654
978
|
### Set
|
655
979
|
|
@@ -672,7 +996,8 @@ The output shows details of the set.
|
|
672
996
|
```show.yaml```:
|
673
997
|
```yaml
|
674
998
|
---
|
675
|
-
Set (message='My simple set'
|
999
|
+
Set (message='My simple set'):
|
1000
|
+
size: 3
|
676
1001
|
Element 0: Fixnum 5
|
677
1002
|
Element 1: Fixnum 10
|
678
1003
|
Element 2: Fixnum 15
|
@@ -697,17 +1022,20 @@ The output shows details of the set.
|
|
697
1022
|
```show.yaml```:
|
698
1023
|
```yaml
|
699
1024
|
---
|
700
|
-
Set (message='My mixed set'
|
1025
|
+
Set (message='My mixed set'):
|
1026
|
+
size: 3
|
701
1027
|
Element 0: Fixnum 0
|
702
1028
|
Element 1:
|
703
|
-
String
|
1029
|
+
String:
|
704
1030
|
to_s: one
|
1031
|
+
size: 3
|
705
1032
|
encoding: !ruby/encoding UTF-8
|
706
1033
|
ascii_only?: true
|
707
1034
|
bytesize: 3
|
708
1035
|
Element 2:
|
709
|
-
Symbol
|
1036
|
+
Symbol:
|
710
1037
|
to_s: two
|
1038
|
+
size: 3
|
711
1039
|
encoding: !ruby/encoding US-ASCII
|
712
1040
|
```
|
713
1041
|
|
@@ -734,14 +1062,17 @@ The output shows details of the sets.
|
|
734
1062
|
```show.yaml```:
|
735
1063
|
```yaml
|
736
1064
|
---
|
737
|
-
Set (message='My nested sets'
|
1065
|
+
Set (message='My nested sets'):
|
1066
|
+
size: 3
|
738
1067
|
Element 0: Fixnum 0
|
739
1068
|
Element 1:
|
740
|
-
Set
|
1069
|
+
Set:
|
1070
|
+
size: 2
|
741
1071
|
Element 0: Fixnum 1
|
742
1072
|
Element 1: Fixnum 2
|
743
1073
|
Element 2:
|
744
|
-
Set
|
1074
|
+
Set:
|
1075
|
+
size: 2
|
745
1076
|
Element 0: Fixnum 3
|
746
1077
|
Element 1: Fixnum 4
|
747
1078
|
```
|
@@ -770,73 +1101,357 @@ The circular reference is not followed.
|
|
770
1101
|
```show.yaml```:
|
771
1102
|
```yaml
|
772
1103
|
---
|
773
|
-
Set (message='My circular sets'
|
1104
|
+
Set (message='My circular sets'):
|
1105
|
+
size: 1
|
774
1106
|
Element 0:
|
775
|
-
Set
|
1107
|
+
Set:
|
1108
|
+
size: 1
|
776
1109
|
Element 0: 'Set #<Set: {#<Set: {#<Set: {...}>}>}>'
|
777
1110
|
```
|
778
|
-
###
|
1111
|
+
### String
|
779
1112
|
|
780
|
-
|
1113
|
+
#### Simple String
|
781
1114
|
|
782
|
-
|
1115
|
+
This example shows a simple string.
|
783
1116
|
|
784
|
-
|
1117
|
+
```show.rb```:
|
1118
|
+
```ruby
|
1119
|
+
require 'debug_helper'
|
1120
|
+
|
1121
|
+
s = 'Lorem ipsum'
|
1122
|
+
DebugHelper.show(s, 'My simple string')
|
1123
|
+
```
|
1124
|
+
|
1125
|
+
The output shows details of the string.
|
1126
|
+
|
1127
|
+
```show.yaml```:
|
1128
|
+
```yaml
|
1129
|
+
---
|
1130
|
+
String (message='My simple string'):
|
1131
|
+
to_s: Lorem ipsum
|
1132
|
+
size: 11
|
1133
|
+
encoding: !ruby/encoding UTF-8
|
1134
|
+
ascii_only?: true
|
1135
|
+
bytesize: 11
|
1136
|
+
```
|
1137
|
+
|
1138
|
+
#### Multiline String
|
785
1139
|
|
786
|
-
This example shows a
|
1140
|
+
This example shows a multiline string.
|
787
1141
|
|
788
1142
|
```show.rb```:
|
789
1143
|
```ruby
|
790
1144
|
require 'debug_helper'
|
791
1145
|
|
792
|
-
|
793
|
-
|
1146
|
+
s = <<EOT
|
1147
|
+
Lorem Ipsum dolor sit amet,consectetur adipisicing elit,
|
1148
|
+
sed doeiusmod tempor incididunt ut laboreet dolore magna aliqua.
|
1149
|
+
EOT
|
1150
|
+
DebugHelper.show(s, 'My multiline string')
|
794
1151
|
```
|
795
1152
|
|
796
|
-
The output shows details of the
|
1153
|
+
The output shows details of the string.
|
797
1154
|
|
798
1155
|
```show.yaml```:
|
799
1156
|
```yaml
|
800
|
-
---
|
1157
|
+
---
|
1158
|
+
String (message='My multiline string'):
|
1159
|
+
to_s: |
|
1160
|
+
Lorem Ipsum dolor sit amet,consectetur adipisicing elit,
|
1161
|
+
sed doeiusmod tempor incididunt ut laboreet dolore magna aliqua.
|
1162
|
+
size: 122
|
1163
|
+
encoding: !ruby/encoding UTF-8
|
1164
|
+
ascii_only?: true
|
1165
|
+
bytesize: 122
|
801
1166
|
```
|
1167
|
+
### Struct
|
802
1168
|
|
803
|
-
####
|
1169
|
+
#### Simple Struct
|
804
1170
|
|
805
|
-
This example shows a
|
1171
|
+
This example shows a simple struct.
|
806
1172
|
|
807
1173
|
```show.rb```:
|
808
1174
|
```ruby
|
809
1175
|
require 'debug_helper'
|
810
1176
|
|
811
|
-
|
812
|
-
|
1177
|
+
MyStruct = Struct.new(:a, :b, :c)
|
1178
|
+
struct = MyStruct.new(0, 1, 2)
|
1179
|
+
DebugHelper.show(struct, 'My simple struct')
|
813
1180
|
```
|
814
1181
|
|
815
|
-
The output shows details of the
|
1182
|
+
The output shows details of the struct.
|
816
1183
|
|
817
1184
|
```show.yaml```:
|
818
1185
|
```yaml
|
819
|
-
---
|
820
|
-
|
1186
|
+
---
|
1187
|
+
MyStruct (message='My simple struct'):
|
1188
|
+
size: 3
|
1189
|
+
Member 0:
|
1190
|
+
Name:
|
1191
|
+
Symbol:
|
1192
|
+
to_s: a
|
1193
|
+
size: 1
|
1194
|
+
encoding: !ruby/encoding US-ASCII
|
1195
|
+
Value: Fixnum 0
|
1196
|
+
Member 1:
|
1197
|
+
Name:
|
1198
|
+
Symbol:
|
1199
|
+
to_s: b
|
1200
|
+
size: 1
|
1201
|
+
encoding: !ruby/encoding US-ASCII
|
1202
|
+
Value: Fixnum 1
|
1203
|
+
Member 2:
|
1204
|
+
Name:
|
1205
|
+
Symbol:
|
1206
|
+
to_s: c
|
1207
|
+
size: 1
|
1208
|
+
encoding: !ruby/encoding US-ASCII
|
1209
|
+
Value: Fixnum 2
|
821
1210
|
```
|
822
1211
|
|
823
|
-
####
|
1212
|
+
#### Mixed Struct
|
824
1213
|
|
825
|
-
This example shows a
|
1214
|
+
This example shows a struct of mixed values.
|
826
1215
|
|
827
1216
|
```show.rb```:
|
828
1217
|
```ruby
|
829
1218
|
require 'debug_helper'
|
830
1219
|
|
831
|
-
|
832
|
-
|
1220
|
+
MyStruct = Struct.new(:a, :b, :c)
|
1221
|
+
struct = MyStruct.new(0, 'one', :two)
|
1222
|
+
DebugHelper.show(struct, 'My mixed struct')
|
1223
|
+
```
|
1224
|
+
|
1225
|
+
The output shows details of the struct.
|
1226
|
+
|
1227
|
+
```show.yaml```:
|
1228
|
+
```yaml
|
1229
|
+
---
|
1230
|
+
MyStruct (message='My mixed struct'):
|
1231
|
+
size: 3
|
1232
|
+
Member 0:
|
1233
|
+
Name:
|
1234
|
+
Symbol:
|
1235
|
+
to_s: a
|
1236
|
+
size: 1
|
1237
|
+
encoding: !ruby/encoding US-ASCII
|
1238
|
+
Value: Fixnum 0
|
1239
|
+
Member 1:
|
1240
|
+
Name:
|
1241
|
+
Symbol:
|
1242
|
+
to_s: b
|
1243
|
+
size: 1
|
1244
|
+
encoding: !ruby/encoding US-ASCII
|
1245
|
+
Value:
|
1246
|
+
String:
|
1247
|
+
to_s: one
|
1248
|
+
size: 3
|
1249
|
+
encoding: !ruby/encoding UTF-8
|
1250
|
+
ascii_only?: true
|
1251
|
+
bytesize: 3
|
1252
|
+
Member 2:
|
1253
|
+
Name:
|
1254
|
+
Symbol:
|
1255
|
+
to_s: c
|
1256
|
+
size: 1
|
1257
|
+
encoding: !ruby/encoding US-ASCII
|
1258
|
+
Value:
|
1259
|
+
Symbol:
|
1260
|
+
to_s: two
|
1261
|
+
size: 3
|
1262
|
+
encoding: !ruby/encoding US-ASCII
|
1263
|
+
```
|
1264
|
+
|
1265
|
+
#### Nested Structs
|
1266
|
+
|
1267
|
+
This example shows nested structs.
|
1268
|
+
|
1269
|
+
```show.rb```:
|
1270
|
+
```ruby
|
1271
|
+
require 'debug_helper'
|
1272
|
+
|
1273
|
+
MyStruct_0 = Struct.new(:a, :b)
|
1274
|
+
MyStruct_1 = Struct.new(:c, :d)
|
1275
|
+
struct_1a = MyStruct_1.new(2, 3)
|
1276
|
+
struct_1b = MyStruct_1.new(4, 5)
|
1277
|
+
struct_0 = MyStruct_0.new(struct_1a, struct_1b)
|
1278
|
+
DebugHelper.show(struct_0, 'My nested struct')
|
1279
|
+
```
|
1280
|
+
|
1281
|
+
The output shows details of the structs.
|
1282
|
+
|
1283
|
+
```show.yaml```:
|
1284
|
+
```yaml
|
1285
|
+
---
|
1286
|
+
MyStruct_0 (message='My nested struct'):
|
1287
|
+
size: 2
|
1288
|
+
Member 0:
|
1289
|
+
Name:
|
1290
|
+
Symbol:
|
1291
|
+
to_s: a
|
1292
|
+
size: 1
|
1293
|
+
encoding: !ruby/encoding US-ASCII
|
1294
|
+
Value:
|
1295
|
+
MyStruct_1:
|
1296
|
+
size: 2
|
1297
|
+
Member 0:
|
1298
|
+
Name:
|
1299
|
+
Symbol:
|
1300
|
+
to_s: c
|
1301
|
+
size: 1
|
1302
|
+
encoding: !ruby/encoding US-ASCII
|
1303
|
+
Value: Fixnum 2
|
1304
|
+
Member 1:
|
1305
|
+
Name:
|
1306
|
+
Symbol:
|
1307
|
+
to_s: d
|
1308
|
+
size: 1
|
1309
|
+
encoding: !ruby/encoding US-ASCII
|
1310
|
+
Value: Fixnum 3
|
1311
|
+
Member 1:
|
1312
|
+
Name:
|
1313
|
+
Symbol:
|
1314
|
+
to_s: b
|
1315
|
+
size: 1
|
1316
|
+
encoding: !ruby/encoding US-ASCII
|
1317
|
+
Value:
|
1318
|
+
MyStruct_1:
|
1319
|
+
size: 2
|
1320
|
+
Member 0:
|
1321
|
+
Name:
|
1322
|
+
Symbol:
|
1323
|
+
to_s: c
|
1324
|
+
size: 1
|
1325
|
+
encoding: !ruby/encoding US-ASCII
|
1326
|
+
Value: Fixnum 4
|
1327
|
+
Member 1:
|
1328
|
+
Name:
|
1329
|
+
Symbol:
|
1330
|
+
to_s: d
|
1331
|
+
size: 1
|
1332
|
+
encoding: !ruby/encoding US-ASCII
|
1333
|
+
Value: Fixnum 5
|
1334
|
+
```
|
1335
|
+
|
1336
|
+
#### Circular Structs
|
1337
|
+
|
1338
|
+
This example shows structs that make a circular reference.
|
1339
|
+
|
1340
|
+
```show.rb```:
|
1341
|
+
```ruby
|
1342
|
+
require 'debug_helper'
|
1343
|
+
|
1344
|
+
MyStruct = Struct.new(:a, :b, :c)
|
1345
|
+
struct_0 = MyStruct.new(0, 1, 2)
|
1346
|
+
struct_1 = MyStruct.new(3, 4, 5)
|
1347
|
+
struct_0.a = struct_1
|
1348
|
+
struct_1.a = struct_0
|
1349
|
+
DebugHelper.show(struct_0, 'My circular struct')
|
1350
|
+
```
|
1351
|
+
|
1352
|
+
The output shows details of the structs.
|
1353
|
+
|
1354
|
+
The circular reference is not followed.
|
1355
|
+
|
1356
|
+
```show.yaml```:
|
1357
|
+
```yaml
|
1358
|
+
---
|
1359
|
+
MyStruct (message='My circular struct'):
|
1360
|
+
size: 3
|
1361
|
+
Member 0:
|
1362
|
+
Name:
|
1363
|
+
Symbol:
|
1364
|
+
to_s: a
|
1365
|
+
size: 1
|
1366
|
+
encoding: !ruby/encoding US-ASCII
|
1367
|
+
Value:
|
1368
|
+
MyStruct:
|
1369
|
+
size: 3
|
1370
|
+
Member 0:
|
1371
|
+
Name:
|
1372
|
+
Symbol:
|
1373
|
+
to_s: a
|
1374
|
+
size: 1
|
1375
|
+
encoding: !ruby/encoding US-ASCII
|
1376
|
+
Value: 'MyStruct #<struct MyStruct a=#<struct MyStruct a=#<struct MyStruct:...>,
|
1377
|
+
b=4, c=5>, b=1, c=2>'
|
1378
|
+
Member 1:
|
1379
|
+
Name:
|
1380
|
+
Symbol:
|
1381
|
+
to_s: b
|
1382
|
+
size: 1
|
1383
|
+
encoding: !ruby/encoding US-ASCII
|
1384
|
+
Value: Fixnum 4
|
1385
|
+
Member 2:
|
1386
|
+
Name:
|
1387
|
+
Symbol:
|
1388
|
+
to_s: c
|
1389
|
+
size: 1
|
1390
|
+
encoding: !ruby/encoding US-ASCII
|
1391
|
+
Value: Fixnum 5
|
1392
|
+
Member 1:
|
1393
|
+
Name:
|
1394
|
+
Symbol:
|
1395
|
+
to_s: b
|
1396
|
+
size: 1
|
1397
|
+
encoding: !ruby/encoding US-ASCII
|
1398
|
+
Value: Fixnum 1
|
1399
|
+
Member 2:
|
1400
|
+
Name:
|
1401
|
+
Symbol:
|
1402
|
+
to_s: c
|
1403
|
+
size: 1
|
1404
|
+
encoding: !ruby/encoding US-ASCII
|
1405
|
+
Value: Fixnum 2
|
1406
|
+
```
|
1407
|
+
### Symbol
|
1408
|
+
|
1409
|
+
#### Simple Symbol
|
1410
|
+
|
1411
|
+
This example shows a simple symbol.
|
1412
|
+
|
1413
|
+
```show.rb```:
|
1414
|
+
```ruby
|
1415
|
+
require 'debug_helper'
|
1416
|
+
|
1417
|
+
DebugHelper.show(:lorem_ipsum, 'My symbol')
|
1418
|
+
```
|
1419
|
+
|
1420
|
+
The output shows details of the symbol.
|
1421
|
+
|
1422
|
+
```show.yaml```:
|
1423
|
+
```yaml
|
1424
|
+
---
|
1425
|
+
Symbol (message='My symbol'):
|
1426
|
+
to_s: lorem_ipsum
|
1427
|
+
size: 11
|
1428
|
+
encoding: !ruby/encoding US-ASCII
|
1429
|
+
```
|
1430
|
+
### Object
|
1431
|
+
|
1432
|
+
Classes not mentioned above are not analyzed, but are treated more simply.
|
1433
|
+
|
1434
|
+
#### Unanalyzed Object
|
1435
|
+
|
1436
|
+
This example shows an object that will not be analyzed.
|
1437
|
+
|
1438
|
+
```show.rb```:
|
1439
|
+
```ruby
|
1440
|
+
require 'debug_helper'
|
1441
|
+
|
1442
|
+
class MyClass
|
1443
|
+
def inspect
|
1444
|
+
'My class inspection'
|
1445
|
+
end
|
1446
|
+
end
|
1447
|
+
DebugHelper.show(MyClass.new, 'My class')
|
833
1448
|
```
|
834
1449
|
|
835
|
-
The output shows details of the
|
1450
|
+
The output shows details of the object.
|
836
1451
|
|
837
1452
|
```show.yaml```:
|
838
1453
|
```yaml
|
839
|
-
---
|
1454
|
+
--- MyClass (message='My class') My class inspection
|
840
1455
|
...
|
841
1456
|
```
|
842
1457
|
|
@@ -870,52 +1485,67 @@ The output shows output for various depths.
|
|
870
1485
|
```show.yaml```:
|
871
1486
|
```yaml
|
872
1487
|
---
|
873
|
-
Array (message='Show depth 1'
|
1488
|
+
Array (message='Show depth 1'):
|
1489
|
+
size: 2
|
874
1490
|
Element 0: Fixnum 0
|
875
1491
|
Element 1: Array [1, [2, [3, [4]]]]
|
876
1492
|
---
|
877
|
-
Array (message='Show depth 2'
|
1493
|
+
Array (message='Show depth 2'):
|
1494
|
+
size: 2
|
878
1495
|
Element 0: Fixnum 0
|
879
1496
|
Element 1:
|
880
|
-
Array
|
1497
|
+
Array:
|
1498
|
+
size: 2
|
881
1499
|
Element 0: Fixnum 1
|
882
1500
|
Element 1: Array [2, [3, [4]]]
|
883
1501
|
---
|
884
|
-
Array (message='Show depth 3'
|
1502
|
+
Array (message='Show depth 3'):
|
1503
|
+
size: 2
|
885
1504
|
Element 0: Fixnum 0
|
886
1505
|
Element 1:
|
887
|
-
Array
|
1506
|
+
Array:
|
1507
|
+
size: 2
|
888
1508
|
Element 0: Fixnum 1
|
889
1509
|
Element 1:
|
890
|
-
Array
|
1510
|
+
Array:
|
1511
|
+
size: 2
|
891
1512
|
Element 0: Fixnum 2
|
892
1513
|
Element 1: Array [3, [4]]
|
893
1514
|
---
|
894
|
-
Array (message='Show depth 4'
|
1515
|
+
Array (message='Show depth 4'):
|
1516
|
+
size: 2
|
895
1517
|
Element 0: Fixnum 0
|
896
1518
|
Element 1:
|
897
|
-
Array
|
1519
|
+
Array:
|
1520
|
+
size: 2
|
898
1521
|
Element 0: Fixnum 1
|
899
1522
|
Element 1:
|
900
|
-
Array
|
1523
|
+
Array:
|
1524
|
+
size: 2
|
901
1525
|
Element 0: Fixnum 2
|
902
1526
|
Element 1:
|
903
|
-
Array
|
1527
|
+
Array:
|
1528
|
+
size: 2
|
904
1529
|
Element 0: Fixnum 3
|
905
1530
|
Element 1: Array [4]
|
906
1531
|
---
|
907
|
-
Array (message='Show depth 5'
|
1532
|
+
Array (message='Show depth 5'):
|
1533
|
+
size: 2
|
908
1534
|
Element 0: Fixnum 0
|
909
1535
|
Element 1:
|
910
|
-
Array
|
1536
|
+
Array:
|
1537
|
+
size: 2
|
911
1538
|
Element 0: Fixnum 1
|
912
1539
|
Element 1:
|
913
|
-
Array
|
1540
|
+
Array:
|
1541
|
+
size: 2
|
914
1542
|
Element 0: Fixnum 2
|
915
1543
|
Element 1:
|
916
|
-
Array
|
1544
|
+
Array:
|
1545
|
+
size: 2
|
917
1546
|
Element 0: Fixnum 3
|
918
1547
|
Element 1:
|
919
|
-
Array
|
1548
|
+
Array:
|
1549
|
+
size: 1
|
920
1550
|
Element 0: Fixnum 4
|
921
1551
|
```
|