class StatusPage::Services::Redis

Public Class Methods

config_class() click to toggle source
# File lib/status-page/services/redis.rb, line 15
def config_class
  Redis::Configuration
end

Public Instance Methods

check!() click to toggle source
# File lib/status-page/services/redis.rb, line 20
def check!
  time = Time.now.to_s(:db)

  redis = ::Redis.new(url: config.url)
  redis.set(key, time)
  fetched = redis.get(key)

  raise "different values (now: #{time}, fetched: #{fetched})" if fetched != time
rescue Exception => e
  raise RedisException.new(e.message)
ensure
  redis.close
end

Private Instance Methods

key() click to toggle source
# File lib/status-page/services/redis.rb, line 36
def key
  @key ||= ['status-redis', request.try(:remote_ip)].join(':')
end