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