diff --git a/README.rdoc b/README.rdoc index 7f27e59..9fbba50 100644 --- a/README.rdoc +++ b/README.rdoc @@ -10,6 +10,8 @@ Examples of usage: {Horaci Cuevas}[http://github.com/horaci] +{Robert R. Meyer}[http://github.com/Blue-Dog-Archolite] + == Quick overview * Setup @@ -23,7 +25,10 @@ Before using Similus, you need to setup the redis configuration. In rails this c Similus.config do |config| config.backend = :redis - config.redis_server = "localhost:6379" + config.redis_host = "localhost" + config.redis_port = "6379" + config.redis_username = "myredisuser" + config.redis_password = "Password" config.redis_db = 8 end @@ -73,4 +78,4 @@ Install the Similus gem: Copyright (c) 2010 Horaci Cuevas -See LICENSES for details. \ No newline at end of file +See LICENSES for details. diff --git a/lib/similus/config.rb b/lib/similus/config.rb index 0be9361..7518210 100644 --- a/lib/similus/config.rb +++ b/lib/similus/config.rb @@ -3,16 +3,20 @@ def self.config @config ||= Config.new block_given? ? yield(@config) : @config end - + class Config attr_accessor :backend - attr_accessor :redis_server + attr_accessor :redis_host + attr_accessor :redis_port + attr_accessor :redis_username + attr_accessor :redis_password attr_accessor :redis_db attr_accessor :logfile def initialize #:nodoc: self.backend = :redis - self.redis_server = "localhost:6379" + self.redis_host = "localhost" + self.redis_port = "6379" self.redis_db = 9 self.logfile = STDOUT end diff --git a/lib/similus/redis.rb b/lib/similus/redis.rb index 7fdf5c9..796cda4 100644 --- a/lib/similus/redis.rb +++ b/lib/similus/redis.rb @@ -1,14 +1,15 @@ module Similus def self.redis @redis ||= begin - host, port = config.redis_server.split(':') - ::Redis.new(:host => host, :port => port, :db => config.redis_db) + ::Redis.new(:host => config.redis_host, :port => config.redis_port, + :username => config.redis_username, :password => config.redis_password, + :thread_safe => true) rescue Exception => e config.logger.error "Error connecting redis server: #{e.message}" nil end end - + def self.clear_database! @cache = {} redis.flushdb