module GoodData::Mixin::Inspector

When an RSpec test like this fails,

expect(@my_array).to == [@some_model, @some_model2]

RSpec will call inspect on each of the objects to “help” you figure out what went wrong. Well, inspect will usually dump a TON OF SHIT and make trying to figure out why ‘@my_array` is not made up of `@some_model` and `@some_model2`.

This little module and technique helps get around that. It will redefine ‘inspect` if you include it in your model object.

You can define a whitelist of methods that inspect will dump. It will always provide ‘object_id` at a minimum.

To use it, drop it in spec/support/inspector.rb and class_eval the models to override ‘inspect`.