AndyObtiva/puts_debuggerer

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
# Change Log

## 1.0.1

- Fix issue with deleting `pd` options from a `Hash` if it was the only argument breaking the guarantee that `pd` never modifies the printed object, which could cause bugs.
- Fix issue with attempting to modify a frozen `Hash` when passing a frozen `Hash` as the only argument for `pd` method

## 1.0.0

-  Support including class/method after file/line in every `pd` printout

## 0.13.5

- Fix not printing source line in Rails app w/ Pry
- Note that Pry's compatibility (inside Pry) is experimental and fragile because Pry's API is not reliable

## 0.13.4

- Reverted change to default `printer` behavior from 0.13.3 to avoid causing a double-print to stdout as it turns out `puts` is not always needed since Rails redirects to standard out by default in `Rails.logger.debug` calls

## 0.13.3

- Update default `printer` behavior for Rails to always output via `puts` (not just in tests) in addition to `Rails.logger.debug`
- Update custom implementation of `caller` for Opal to accept args (optional `start` and `length` or alternatively `range`) just like the Ruby API

## 0.13.2

- Fix issue caused by MiniTest Rails having `IRB` constant declared despite being outside of IRB

## 0.13.1

- Support `a: '[PD]'` shortcut to passing `announcer: '[PD]'`
- Support `c: :t` shortcut to passing `caller: true`

## 0.13.0

- Support `h: :t` shortcut to passing `header: true`
- Support `f: :t` shortcut to passing `footer: true`
- Support `w: :t` shortcut to passing `wrapper: true`

## 0.12.0

- Upgrade `awesome_print` to `~> 1.9.2`
- Support passing pd options as part of a printed hash instead of requiring a separate hash (e.g. `pd(path: path, header: true)` instead of `pd({path: path}, header: true)` )
- Support empty use of pd statement + options (e.g. `pd` or `pd header: true`)

## 0.11.0

- Pry support
- In Opal, print exceptions as errors in the web console using an alternative to full_message since it's not implemented in Opal yet
- Fix `pd_inspect` and `pdi` in IRB

## 0.10.2

- Improve Opal Ruby compatibility by displaying source file/line

## 0.10.1

- Remove the need for specifying `require 'ap'` before `require 'pd'`

## 0.10.0

- Support `require 'pd`' as a shorter alternative to `require 'puts_debuggerer'`
- Support `printer` as a Logger object or Logging::Logger (from "logging" gem). Basically any object that responds to :debug method.
- Support `printer: false` option to return rendered String instead of printing and returning object
- Set logger formatter to PutsDebuggerer::LOGGER_FORMATTER_DECORATOR when passing as printer (keeping format the same, but decorating msg with pd)
- Add pd_inspect (and pdi alias) Kernel core extension methods
- Made awesome_print gem require happen only if printer is set to :ap or :awesome_print
- Support logging gem logger and Decorate logger layout with PutsDebuggerer::LOGGING_LAYOUT_DECORATOR for logging gem

## 0.9.0

- Provide partial support for Opal Ruby (missing display of file name, line number, and source code)
- `source_line_count` option
- `wraper` option for including both `header` and `footer`
- Special handling of exceptions (prints using full_message)
- Change :ap printer default to :p when unavailable
- Support varargs printing (example: `pd arg1, arg2, arg3`)
- Display `run_at` run number in printout

## 0.8.2

- require 'stringio' for projects that don't require automatically via other gems

## 0.8.1

- `printer` option support for Rails test environment

## 0.8.0

- `printer` option support

## 0.7.1

- default print engine to :ap (AwesomePrint)

## 0.7.0

- `run_at` option, global and piecemeal.

## 0.6.1

- updated README and broke apart specs

## 0.6.0

- unofficial erb support, returning evaluated object/expression, removed static syntax support (replaced with header support)

## 0.5.1

- support for print engine lambdas and smart defaults for leveraging Rails and AwesomePrint debuggers in Rails

## 0.5.0

- custom formatter, caller backtrace, per-puts piecemeal options, and multi-line support

## 0.4.0

- custom print engine (e.g. ap), custom announcer, and IRB support

## 0.3.0

- header/footer support, multi-line printout, improved format

## 0.2.0

- App path exclusion support, Rails root support, improved format

## 0.1.0

- File/line/expression print out