Module: IRB::Driver
- Defined in:
- lib/irb/driver.rb,
lib/irb/driver/tty.rb,
lib/irb/driver/socket.rb,
lib/irb/driver/readline.rb
Defined Under Namespace
Classes: OutputRedirector, Readline, Socket, TTY
Class Method Summary
collapse
Class Method Details
.current ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/irb/driver.rb', line 9
def current
current_thread = Thread.current
current_thread[:irb_driver] ||= begin
if group = current_thread.group
driver = nil
group.list.each do |thread|
break if driver = thread[:irb_driver]
end
driver
end
end
end
|
.current=(driver) ⇒ Object
4
5
6
7
|
# File 'lib/irb/driver.rb', line 4
def current=(driver)
ThreadGroup.new.add(Thread.current)
Thread.current[:irb_driver] = driver
end
|
.redirect_output!(redirector = OutputRedirector.new) ⇒ Object
22
23
24
25
26
27
|
# File 'lib/irb/driver.rb', line 22
def redirect_output!(redirector = OutputRedirector.new)
before, $stdout = $stdout, redirector unless $stdout.is_a?(redirector.class)
yield
ensure
$stdout = before if before
end
|