Class: Elected::Senado
- Inherits:
-
Object
- Object
- Elected::Senado
- Includes:
- Logging
- Defined in:
- lib/elected/senado.rb
Instance Attribute Summary collapse
-
#key ⇒ Object
Returns the value of attribute key.
-
#timeout ⇒ Object
In ms (milliseconds), defaults to 5 seconds.
Instance Method Summary collapse
-
#initialize(key = nil, timeout = nil) ⇒ Senado
constructor
A new instance of Senado.
- #leader ⇒ Object
- #leader? ⇒ Boolean
- #release ⇒ Object
- #to_s ⇒ Object (also: #inspect)
Methods included from Logging
#debug, #debug_var, #error, included, #info, #warn
Constructor Details
#initialize(key = nil, timeout = nil) ⇒ Senado
Returns a new instance of Senado.
10 11 12 |
# File 'lib/elected/senado.rb', line 10 def initialize(key = nil, timeout = nil) @key, @timeout = key, timeout end |
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key.
8 9 10 |
# File 'lib/elected/senado.rb', line 8 def key @key end |
#timeout ⇒ Object
In ms (milliseconds), defaults to 5 seconds
19 20 21 |
# File 'lib/elected/senado.rb', line 19 def timeout @timeout end |
Instance Method Details
#leader ⇒ Object
23 24 25 |
# File 'lib/elected/senado.rb', line 23 def leader mutex.synchronize { get_leader || set_leader } end |
#leader? ⇒ Boolean
27 28 29 |
# File 'lib/elected/senado.rb', line 27 def leader? !!leader end |
#release ⇒ Object
31 32 33 34 35 36 |
# File 'lib/elected/senado.rb', line 31 def release return false unless @leader Elected.electorado.unlock @leader.info if @leader.current? @leader = false end |
#to_s ⇒ Object Also known as: inspect
38 39 40 |
# File 'lib/elected/senado.rb', line 38 def to_s %{#<#{self.class.name} key=#{key.inspect} timeout=#{timeout} leader?=#{leader?}>} end |