class CassandraRecord::Database::Adapters::Cassandra
Constants
- MAX_RETRIES
Attributes
keyspace[R]
Public Instance Methods
cluster()
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 30 def cluster cluster_connection.connect end
configuration() { |connection_configuration| ... }
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 38 def configuration(&block) yield(connection_configuration) if block_given? connection_configuration end
execute(cql, *args)
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 24 def execute(cql, *args) rescue_with_reset_and_retry do session.execute(cql, arguments: args) end end
prepare(cql)
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 18 def prepare(cql) rescue_with_reset_and_retry do session.prepare(cql) end end
session()
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 34 def session @session ||= cluster_connection.connect(@keyspace) end
use(keyspace_name)
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 13 def use(keyspace_name) @session = nil @keyspace = keyspace_name end
Private Instance Methods
cluster_connection()
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 66 def cluster_connection ::Cassandra.cluster(connection_configuration.symbolize_keys) end
connection_configuration()
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 70 def connection_configuration @connection_configuration ||= {} end
rescue_with_reset_and_retry() { || ... }
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 47 def rescue_with_reset_and_retry retry_count = 0 begin yield rescue ::Cassandra::Error if (retry_count += 1) < MAX_RETRIES reset_session sleep(0.5) retry else raise end end end
reset_session()
click to toggle source
# File lib/cassandra_record/database/adapters/cassandra.rb, line 62 def reset_session @session = nil end