Method: HyperTrace.format_instance

Defined in:
lib/hyper_trace/hyper_trace.rb

.format_instance(instance, filter = nil, &block) ⇒ Object



253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
# File 'lib/hyper_trace/hyper_trace.rb', line 253

def format_instance(instance, filter = nil, &block)
  filtered_instance_variables = if filter
      filter
    else
      instance.instance_variables
    end
  return if filtered_instance_variables.empty? && block.nil?
  group "self:#{instance_tag(instance,' ')}", collapsed: true do
    puts safe_i(instance) unless safe_i(instance).length < 40
    filtered_instance_variables.each do |iv|
      val = safe_i(instance.instance_variable_get(iv))
      group "#{iv}: #{val[0..10]}", collapsed: true do
        puts val
        log instance.instance_variable_get(iv)
      end
    end
    yield if block
  end
end