- Update minimum Ruby version from 3.1 -> 3.2
- Just use #inspect instead of #inspect_lit. Remove #inspect_lit from core extensions on: BigDecimal, Symbol, String, and Object.
- Update minimum Ruby version from 2.7 -> 3.1
- Internal refactoring for more Object-Oriented goodness.
- Internal refactoring for less brittle tests.
- Change method signature of ObjectIdentifier FormatterClass initialization to expect
parameters
as a keyword argument. - Add ObjectIdentifier::BaseFormatter as a superclass for Formatter objects to help define the above, plus whatever else it means to be an ObjectIdentifier Formatter.
- Internal refactoring for more Object-Oriented goodness.
- Refactor
ObjectIdentifier::Identifier
to justObjectIdentifier
. This has no effect on instance method usage (e.g.<my_object>.identify(...)
). But if any manual invocations were made (e.g.ObjectIdentifier::Identifier.call(...)
) then they will need to be updated toObjectIdentifier.call(...)
(or justObjectIdentifier.(...)
, per your own style guide).
- Add support for defining customer Formatters.
- Add ObjectInspector::Configuration#formatter_class setting for overriding the default Formatter. See the README for more.
- Add a benchmarking script for comparing performance of formatters. See the README for more.
- Make compatible with Ruby 3.2 (and likely Ruby 3.0 and 3.1 as well).
- Update development dependencies.
- #4 Only show attribute names if identifying more than one attribute.
- Update development dependencies.
- Drop support for Ruby 2.3.
- Fix identification of objects that implement
to_a
, such as Struct.
- Add ability to identify instance vars.
- Revamp gem.
- Update gem dependencies.
- Now returns "[no objects]" even if given a :klass option.
- Fix: identify method now supports private & protected methods.