Class: Hosttag::Server

Inherits:
Redis
  • Object
show all
Defined in:
lib/hosttag/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Server

Returns a new instance of Server.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/hosttag/server.rb', line 10

def initialize(options)
  @defaults = { 
    :server     => ENV['HOSTTAG_SERVER']    || 'hosttag', 
    :port       => ENV['HOSTTAG_PORT']      || 6379, 
    :namespace  => ENV['HOSTTAG_NAMESPACE'] || 'hosttag',
  }
  @defaults.merge!(options)
   
  # Check :server name resolves
  begin
    Resolv.getaddress( @defaults[:server] )
  rescue Resolv::ResolvError
    raise Resolv::ResolvError, 
      "Host '#{@defaults[:server]}' does not resolve (try --server <hostname>?)", caller
  end

  # Connect to redis
  super( :host => @defaults[:server], :port => @defaults[:port] )
end

Instance Method Details

#get_key(*elt) ⇒ Object



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

def get_key(*elt)
  "#{@defaults[:namespace]}::#{elt.join(':')}"
end