Module: Sideband
- Defined in:
- lib/sideband.rb,
lib/sideband/queue.rb,
lib/sideband/thread.rb,
lib/sideband/worker.rb,
lib/sideband/manager.rb,
lib/sideband/version.rb
Defined Under Namespace
Classes: Manager, NotInitializedError, Queue, Thread, Worker
Constant Summary
collapse
- VERSION =
'1.0.1'
Class Method Summary
collapse
Class Method Details
.initialize! ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/sideband.rb', line 12
def self.initialize!
new_manager = Manager.new
puts 'Sideband initialized!'
if block_given?
begin
::Thread.current['sideband.manager'] = new_manager
yield
ensure
join
end
else
::Thread.current['sideband.manager'] = new_manager
end
end
|
.join ⇒ Object
28
29
30
31
|
# File 'lib/sideband.rb', line 28
def self.join
manager.join
kill
end
|
.kill ⇒ Object
33
34
35
36
|
# File 'lib/sideband.rb', line 33
def self.kill
manager.kill
::Thread.current['sideband.manager'] = nil
end
|
.manager ⇒ Object
42
43
44
45
46
|
# File 'lib/sideband.rb', line 42
def self.manager
manager = ::Thread.current['sideband.manager']
raise NotInitializedError.new('Sideband must be initialized! before using.') if manager.nil?
manager
end
|
.queue ⇒ Object
38
39
40
|
# File 'lib/sideband.rb', line 38
def self.queue
manager.queue
end
|