Class: Trip::Fiber

Inherits:
Object
  • Object
show all
Defined in:
lib/trip/fiber.rb

Overview

The Trip::Fiber class is responsible for creating and controlling an instance of Ruby’s Fiber class that will run and trace a piece of Ruby code. This class is not intended to be used directly.

Instance Method Summary collapse

Constructor Details

#initialize(trip) ⇒ Trip::Fiber

Returns an instance of Trip::Fiber

Parameters:



20
21
22
23
24
# File 'lib/trip/fiber.rb', line 20

def initialize(trip)
  @trip = trip
  @tracer = nil
  @fiber = nil
end

Instance Method Details

#createTrip::Fiber

Creates a fiber

Returns:



30
31
32
33
34
35
36
37
38
# File 'lib/trip/fiber.rb', line 30

def create
  @fiber = Fiber.new do
    @tracer = TracePoint.new(*events, &method(:receive_event))
    @tracer.enable
    @trip.callable.call
    @tracer.disable
  end
  self
end

#resumeTrip::Event?

Resumes a fiber

Returns:



44
45
46
47
48
# File 'lib/trip/fiber.rb', line 44

def resume
  @fiber.resume
rescue FiberError
  nil
end