Class: CassandraRecord::Database::Adapters::Cassandra

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/cassandra_record/database/adapters/cassandra.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#keyspaceObject (readonly)

Returns the value of attribute keyspace.



11
12
13
# File 'lib/cassandra_record/database/adapters/cassandra.rb', line 11

def keyspace
  @keyspace
end

Instance Method Details

#clusterObject



30
31
32
# File 'lib/cassandra_record/database/adapters/cassandra.rb', line 30

def cluster
  cluster_connection.connect
end

#configuration {|connection_configuration| ... } ⇒ Object

Yields:

  • (connection_configuration)


38
39
40
41
# 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) ⇒ Object



24
25
26
27
28
# 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) ⇒ Object



18
19
20
21
22
# File 'lib/cassandra_record/database/adapters/cassandra.rb', line 18

def prepare(cql)
  rescue_with_reset_and_retry do
    session.prepare(cql)
  end
end

#sessionObject



34
35
36
# File 'lib/cassandra_record/database/adapters/cassandra.rb', line 34

def session
  @session ||= cluster_connection.connect(@keyspace)
end

#use(keyspace_name) ⇒ Object



13
14
15
16
# File 'lib/cassandra_record/database/adapters/cassandra.rb', line 13

def use(keyspace_name)
  @session = nil
  @keyspace = keyspace_name
end