Module: Elected

Extended by:
Elected
Included in:
Elected
Defined in:
lib/elected.rb,
lib/elected/lider.rb,
lib/elected/stats.rb,
lib/elected/senado.rb,
lib/elected/logging.rb,
lib/elected/version.rb

Defined Under Namespace

Modules: Logging Classes: Lider, Senado, Stats

Constant Summary collapse

VERSION =
'0.2.4'

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#keyObject



25
26
27
# File 'lib/elected.rb', line 25

def key
  @key || 'elected'
end

#loggerObject

Returns the value of attribute logger.



89
90
91
# File 'lib/elected/logging.rb', line 89

def logger
  @logger
end

#timeoutObject

In ms (milliseconds), defaults to 5 seconds



30
31
32
# File 'lib/elected.rb', line 30

def timeout
  @timeout || 5_000
end

Instance Method Details

#electoradoObject



19
20
21
# File 'lib/elected.rb', line 19

def electorado
  @electorado ||= ::Redlock::Client.new redis_urls
end

#redis_urlsObject



8
9
10
# File 'lib/elected.rb', line 8

def redis_urls
  @redis_urls || ENV['REDIS_URL'].split('|')
end

#redis_urls=(urls) ⇒ Object

Split strings by pipes to allow for one ENV to hold many urls



13
14
15
16
17
# File 'lib/elected.rb', line 13

def redis_urls=(urls)
  @redis_urls = Array(urls).flatten.
    map { |x| x.is_a?(String) ? x.split('|') : x }.
    flatten
end

#senadoObject



83
84
85
# File 'lib/elected/senado.rb', line 83

def senado
  @senate ||= Senado.new
end