# File lib/keymap/connection_adapters/redis_adapter.rb, line 20 def initialize(connection, pool, config) super(nil) @config = config reconnect! end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 30 def active? return false unless @connection @connection.ping == "PONG" end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 26 def adapter_name 'redis' end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 61 def begin_db_transaction raw_connection.multi end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 65 def commit_db_transaction raw_connection.exec end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 73 def delete(id) raw_connection.del(id) != 0 end
Disconnects from the database if already connected. Otherwise, this method does nothing.
# File lib/keymap/connection_adapters/redis_adapter.rb, line 45 def disconnect! super unless @connection.nil? @connection.quit @connection = nil end end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 77 def hash (id) RedisHash.new(raw_connection, id) end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 81 def list (id) # todo idea: add an optional argument where we specify the data type for elements in the collection RedisList.new(raw_connection, id) end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 35 def reconnect! disconnect! connect super end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 69 def rollback_db_transaction raw_connection.discard end
# File lib/keymap/connection_adapters/redis_adapter.rb, line 55 def connect @connection = Redis.new(config) end