class Celluloid::StackDump::ActorState

Attributes

backtrace[RW]
name[RW]
status[RW]
subject_class[RW]
subject_id[RW]
tasks[RW]

Public Instance Methods

dump() click to toggle source
# File lib/celluloid/stack_dump.rb, line 24
def dump
  string = ""
  string << "Celluloid::Actor 0x#{subject_id.to_s(16)}: #{subject_class}"
  string << " [#{name}]" if name
  string << "\n"

  if status == :idle
    string << "State: Idle (waiting for messages)\n"
    display_backtrace backtrace, string
  else
    string << "State: Running (executing tasks)\n"
    display_backtrace backtrace, string
    string << "\tTasks:\n"

    tasks.each_with_index do |task, i|
      string << "\t  #{i+1}) #{task.task_class}[#{task.type}]: #{task.status}\n"
      string << "\t      #{task.meta.inspect}\n"
      display_backtrace task.backtrace, string, "\t"
    end
  end

  string
end