lib/redistat.rb in redistat-0.0.4 vs lib/redistat.rb in redistat-0.0.5

- old
+ new

@@ -8,10 +8,11 @@ require 'time_ext' require 'json' require 'digest/sha1' require 'redistat/collection' +require 'redistat/connection' require 'redistat/database' require 'redistat/date' require 'redistat/event' require 'redistat/finder' require 'redistat/finder/date_set' @@ -32,53 +33,30 @@ KEY_EVENT = ".event:" KEY_LEBELS = "Redistat.lables:" KEY_EVENT_IDS = ".event_ids" class InvalidOptions < ArgumentError; end - - # Provides access to the Redis database. This is shared accross all models and instances. - def redis - threaded[:redis] ||= connection(*options) - end - - def redis=(connection) - threaded[:redis] = connection - end - - def threaded - Thread.current[:redistat] ||= {} - end - - # Connect to a redis database. - # - # @param options [Hash] options to create a message with. - # @option options [#to_s] :host ('127.0.0.1') Host of the redis database. - # @option options [#to_s] :port (6379) Port number. - # @option options [#to_s] :db (0) Database number. - # @option options [#to_s] :timeout (0) Database timeout in seconds. - # @example Connect to a database in port 6380. - # Redistat.connect(:port => 6380) - def connect(*options) - self.redis = nil - @options = options - end - - # Return a connection to Redis. - # - # This is a wapper around Redis.new(options) - def connection(*options) - Redis.new(*options) - end - - def options - @options = [] unless defined? @options - @options - end - - # Clear the database. - def flush - redis.flushdb - end + class RedisServerIsTooOld < Exception; end - module_function :connect, :connection, :flush, :redis, :redis=, :options, :threaded - + class << self + + def connection(ref = nil) + Connection.get(ref) + end + alias :redis :connection + + def connection=(connection) + Connection.add(connection) + end + alias :redis= :connection= + + def connect(options) + Connection.create(options) + end + + def flush + puts "WARNING: Redistat.flush is deprecated. Use Redistat.redis.flush instead." + connection.flushdb + end + + end end