class Flapjack::RedisProxy
Constants
- REQUIRED_VERSION
Attributes
config[RW]
Public Class Methods
new()
click to toggle source
# File lib/flapjack/redis_proxy.rb, line 25 def initialize @proxied_connection = nil @connection_failed = nil end
Public Instance Methods
exec()
click to toggle source
need to override Kernel.exec
# File lib/flapjack/redis_proxy.rb, line 31 def exec proxied_connection.exec end
method_missing(name, *args, &block)
click to toggle source
# File lib/flapjack/redis_proxy.rb, line 43 def method_missing(name, *args, &block) proxied_connection.send(name, *args, &block) end
quit()
click to toggle source
# File lib/flapjack/redis_proxy.rb, line 35 def quit @proxied_connection.quit unless @connection_failed || @proxied_connection.nil? end
respond_to?(name, include_private = false)
click to toggle source
# File lib/flapjack/redis_proxy.rb, line 39 def respond_to?(name, include_private = false) proxied_connection.respond_to?(name, include_private) end
Private Instance Methods
proxied_connection()
click to toggle source
# File lib/flapjack/redis_proxy.rb, line 51 def proxied_connection return @proxied_connection unless @proxied_connection.nil? @proxied_connection = ::Redis.new(self.class.config) redis_version = @proxied_connection.info['redis_version'] return @proxied_connection if redis_version.nil? || ((redis_version.split('.') <=> REQUIRED_VERSION.split('.')) >= 0) raise("Redis too old - Flapjack requires #{REQUIRED_VERSION} but " \ "#{redis_version} is running") rescue Redis::CannotConnectError, Errno::EINVAL @connection_failed = true raise end