Module: Cabin::Inspectable
- Included in:
- Metric
- Defined in:
- lib/cabin/inspectable.rb
Instance Method Summary collapse
-
#inspect ⇒ Object
Provide a saner inspect method that’s easier to configure.
Instance Method Details
#inspect ⇒ Object
Provide a saner inspect method that’s easier to configure.
By default, will inspect all instance variables. You can tune this by setting @inspectables to an array of ivar symbols, like:
[ :@hello, :@world ]
class Foo
include Cabin::Inspectable
def initialize
@inspectables = [:@foo, :@bar]
@foo = 123
@bar = "hello"
@baz = "ok"
end
end
foo = Foo.new
foo.inspect == '<Foo(1) @foo=123 @bar="hello" >'
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/cabin/inspectable.rb', line 24 def inspect if instance_variable_defined?(:@inspectables) ivars = @inspectables else ivars = instance_variables end str = "<#{self.class.name}(@#{self.object_id}) " ivars.each do |ivar| str << "#{ivar}=#{instance_variable_get(ivar).inspect} " end str << ">" return str end |