- Fix issue with deleting
pd
options from aHash
if it was the only argument breaking the guarantee thatpd
never modifies the printed object, which could cause bugs. - Fix issue with attempting to modify a frozen
Hash
when passing a frozenHash
as the only argument forpd
method
- Support including class/method after file/line in every
pd
printout
- 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
- Reverted change to default
printer
behavior from 0.13.3 to avoid causing a double-print to stdout as it turns outputs
is not always needed since Rails redirects to standard out by default inRails.logger.debug
calls
- Update default
printer
behavior for Rails to always output viaputs
(not just in tests) in addition toRails.logger.debug
- Update custom implementation of
caller
for Opal to accept args (optionalstart
andlength
or alternativelyrange
) just like the Ruby API
- Fix issue caused by MiniTest Rails having
IRB
constant declared despite being outside of IRB
- Support
a: '[PD]'
shortcut to passingannouncer: '[PD]'
- Support
c: :t
shortcut to passingcaller: true
- Support
h: :t
shortcut to passingheader: true
- Support
f: :t
shortcut to passingfooter: true
- Support
w: :t
shortcut to passingwrapper: true
- 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 ofpd({path: path}, header: true)
) - Support empty use of pd statement + options (e.g.
pd
orpd header: true
)
- 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
andpdi
in IRB
- Improve Opal Ruby compatibility by displaying source file/line
- Remove the need for specifying
require 'ap'
beforerequire 'pd'
- Support
require 'pd
' as a shorter alternative torequire '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
- Provide partial support for Opal Ruby (missing display of file name, line number, and source code)
source_line_count
optionwraper
option for including bothheader
andfooter
- 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
- require 'stringio' for projects that don't require automatically via other gems
printer
option support for Rails test environment
printer
option support
- default print engine to :ap (AwesomePrint)
run_at
option, global and piecemeal.
- updated README and broke apart specs
- unofficial erb support, returning evaluated object/expression, removed static syntax support (replaced with header support)
- support for print engine lambdas and smart defaults for leveraging Rails and AwesomePrint debuggers in Rails
- custom formatter, caller backtrace, per-puts piecemeal options, and multi-line support
- custom print engine (e.g. ap), custom announcer, and IRB support
- header/footer support, multi-line printout, improved format
- App path exclusion support, Rails root support, improved format
- File/line/expression print out