Module: Byebug::Helpers::ThreadHelper
- Included in:
- ThreadCommand::CurrentCommand, ThreadCommand::ListCommand, ThreadCommand::ResumeCommand, ThreadCommand::StopCommand, ThreadCommand::SwitchCommand
- Defined in:
- lib/byebug/helpers/thread.rb
Overview
Utilities for thread subcommands
Instance Method Summary collapse
- #context_from_thread(thnum) ⇒ Object
- #current_thread?(ctx) ⇒ Boolean
- #display_context(ctx) ⇒ Object
- #thread_arguments(ctx) ⇒ Object
Instance Method Details
#context_from_thread(thnum) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/byebug/helpers/thread.rb', line 30 def context_from_thread(thnum) ctx = Byebug.contexts.find { |c| c.thnum.to_s == thnum } err = if ctx.nil? pr("thread.errors.no_thread") elsif ctx == context pr("thread.errors.current_thread") elsif ctx.ignored? pr("thread.errors.ignored", arg: thnum) end [ctx, err] end |
#current_thread?(ctx) ⇒ Boolean
26 27 28 |
# File 'lib/byebug/helpers/thread.rb', line 26 def current_thread?(ctx) ctx.thread == Thread.current end |
#display_context(ctx) ⇒ Object
9 10 11 |
# File 'lib/byebug/helpers/thread.rb', line 9 def display_context(ctx) puts pr("thread.context", thread_arguments(ctx)) end |
#thread_arguments(ctx) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/byebug/helpers/thread.rb', line 13 def thread_arguments(ctx) { status_flag: status_flag(ctx), debug_flag: debug_flag(ctx), id: ctx.thnum, thread: ctx.thread.inspect, file_line: location(ctx), pid: Process.pid, status: ctx.thread.status, current: current_thread?(ctx) } end |