Sha256: 7f22ad2ea4e161bf7cc8231b849f2c7afb0fc7c8aed425b3673f26207eea002b

Contents?: true

Size: 1.58 KB

Versions: 1

Compression:

Stored size: 1.58 KB

Contents

# Debug Helper

## New in Version 1.8

Classes analyzed:

- [Dir](#dir)
- [Exception](#exception)
- [Range](#range)
- [Regexp](#regexp)
- [IO](#io)
- [MatchData](#matchdata)

## About Debug Helper

If (like me), your debugging style is [printf debugging](https://en.wikipedia.org/wiki/Debugging#Techniques), you will have shoved this into your code many times:

@[ruby](show_hash.rb)

And this:

@[ruby](show_array.rb)

This helper assists in debugging by printing an analysis of a given object.  The analysis is a ```yaml``` structure, and is written to ```stdout```.

For certain classes (see below), the analysis is very detailed.

For the collection classes ```Array```, ```Hash```, ```Struct```, ```Set```, and ```OpenStruct```, the analysis is also recursive;  that is, the collection's values are themselves analyzed.

You can control the depth of recursion using option ```depth```.  See [Options](#options).

Classes treated in detail:

@[:markdown](class_links.md)

Others are treated as:

- [Object](#object)

## Class Method or Module Method?

Most examples in this documentation show use of the class method:

```ruby
require 'debug_helper'
DebugHelper.show(obj, message)
```

You can also choose to use the module method, ```putd``` (Thanks, [palkan](https://www.reddit.com/user/palkan)!), which looks a lot like ```puts```.

```ruby
require 'debug_helper'
include DebugHelper::Putd
putd obj, message
```

Just be sure to ```include DebugHelper::Putd```.

@[:markdown](class_inclusions.md)

## Options

@[:markdown](options/depth/show.md)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
debug_helper-1.8.0 markdown/readme/template.md