class ProductionBreakpoints::Breakpoints::Locals

Show local variables and their values

Constants

TRACEPOINT_TYPES

Public Instance Methods

handle(caller_binding, &block) click to toggle source
# File lib/ruby-production-breakpoints/breakpoints/locals.rb, line 9
def handle(caller_binding, &block)
  return super(caller_binding, &block) unless @tracepoint.enabled?

  val = super(caller_binding, &block)
  locals = caller_binding.local_variables
  locals.delete(:local_bind)
  vals = locals.map { |v| [v, caller_binding.local_variable_get(v)] }.to_h
  @tracepoint.fire(vals.to_json)
  resume(caller_binding, &block) || val
end