Class: Breakpoint::DRbService

Inherits:
Object
  • Object
show all
Includes:
DRbUndumped
Defined in:
lib/active_record/support/breakpoint.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDRbService

Returns a new instance of DRbService.



281
282
283
284
285
286
# File 'lib/active_record/support/breakpoint.rb', line 281

def initialize
  @handler = @eval_handler = @collision_handler = nil

  IRB.instance_eval { @CONF[:RC] = true }
  IRB.run_config
end

Instance Attribute Details

#collision_handlerObject

Returns the value of attribute collision_handler.



305
306
307
# File 'lib/active_record/support/breakpoint.rb', line 305

def collision_handler
  @collision_handler
end

#eval_handlerObject

Returns the value of attribute eval_handler.



305
306
307
# File 'lib/active_record/support/breakpoint.rb', line 305

def eval_handler
  @eval_handler
end

#handlerObject

Returns the value of attribute handler.



305
306
307
# File 'lib/active_record/support/breakpoint.rb', line 305

def handler
  @handler
end

Instance Method Details

#add_breakpoint(context, message) ⇒ Object



296
297
298
299
300
301
302
303
# File 'lib/active_record/support/breakpoint.rb', line 296

def add_breakpoint(context, message)
  workspace = IRB::WorkSpace.new(context)
  workspace.extend(DRbUndumped)

  sleep(0.5) until @handler

  @handler.call(workspace, message)
end

#collisionObject



288
289
290
291
292
# File 'lib/active_record/support/breakpoint.rb', line 288

def collision
  sleep(0.5) until @collision_handler

  @collision_handler.call
end

#pingObject



294
# File 'lib/active_record/support/breakpoint.rb', line 294

def ping() end