module Andromeda::Guides::DispatchingTrack

Public Instance Methods

follow(scope, *args, &thunk) click to toggle source
# File lib/andromeda/guide_track.rb, line 52
def follow(scope, *args, &thunk) ; dispatch(scope, *args, &thunk) end

Protected Instance Methods

dispatch(scope, *args, &thunk) click to toggle source
# File lib/andromeda/guide_track.rb, line 58
def dispatch(scope, *args, &thunk)
  scope.enter
  begin
    process do
      begin
        thunk.call *args
      ensure
        scope.leave
      end
    end
  rescue
    # In case Thread.new fails
    scope.leave
    raise
  end
end
process(&thunk) click to toggle source
# File lib/andromeda/guide_track.rb, line 54
def process(&thunk)
  thunk.call
end