Class: Elected::Senado
- Includes:
- Logging
- Defined in:
- lib/elected/senado.rb
Instance Attribute Summary collapse
- #key ⇒ Object
-
#stats ⇒ Object
readonly
Returns the value of attribute stats.
-
#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
Instance Attribute Details
#stats ⇒ Object (readonly)
Returns the value of attribute stats.
9 10 11 |
# File 'lib/elected/senado.rb', line 9 def stats @stats end |
Instance Method Details
#leader ⇒ Object
26 27 28 |
# File 'lib/elected/senado.rb', line 26 def leader mutex.synchronize { get_leader || set_leader } end |
#leader? ⇒ Boolean
30 31 32 |
# File 'lib/elected/senado.rb', line 30 def leader? !!leader end |
#release ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/elected/senado.rb', line 34 def release return false unless @leader if @leader.current? Elected.electorado.unlock @leader.info @stats.increment :released end @leader = false end |
#to_s ⇒ Object Also known as: inspect
45 46 47 |
# File 'lib/elected/senado.rb', line 45 def to_s %{#<#{self.class.name} key=#{key.inspect} timeout=#{timeout} leader?=#{leader?}>} end |