Class: Cassie::Schema::CreateKeyspaceQuery

Inherits:
Definition show all
Defined in:
lib/cassie/schema/queries/create_keyspace_query.rb

Instance Attribute Summary collapse

Attributes included from Cassie::Statements::Execution::ClassMethods

#result_class

Attributes included from Cassie::Statements::Statement

#cql, #params

Instance Method Summary collapse

Methods included from Cassie::Statements::Execution::ClassMethods

#inherited

Methods included from Cassie::Statements::Execution

#execute, #execute!, #execution_options

Methods included from Cassie::Statements::Execution::Instrumentation

#execute

Methods included from Cassie::Statements::Execution::PartitionLinking

#build_partition_linker, #execute, #partition_linker?

Methods included from Cassie::Statements::Execution::Callbacks

#execute

Methods included from Cassie::Statements::Execution::Consistency

#consistency

Methods included from Cassie::Statements::Statement

#logger, #table, #to_cql

Methods included from Cassie::Statements::Statement::Preparation::ClassMethods

#prepare, #prepare=, #prepare?

Methods included from Cassie::Statements::Statement::Idempotency::ClassMethods

#idempotent, #idempotent=, #idempotent?, #non_idempotent

Methods included from Cassie::Statements::Statement::Idempotency

#idempotent, #idempotent?

Methods included from Cassie::Statements::Statement::TypeHinting::ClassMethods

#type_hints, #type_hints=

Methods included from Cassie::Statements::Statement::TypeHinting

#type_hints

Methods included from Cassie::Statements::Statement::Preparation

cache, init_cache

Methods included from Connection

#keyspace, #session

Methods included from Connection::ClassMethods

#keyspace, #keyspace=

Constructor Details

#initialize(*args) ⇒ CreateKeyspaceQuery

Returns a new instance of CreateKeyspaceQuery.



11
12
13
14
15
16
# File 'lib/cassie/schema/queries/create_keyspace_query.rb', line 11

def initialize(*args)
  super(*args)
  @replication_class ||= 'SimpleStrategy'
  @replication_factor ||= 1
  @durable_writes = true unless defined?(@durable_writes)
end

Instance Attribute Details

#durable_writesObject

Returns the value of attribute durable_writes.



6
7
8
# File 'lib/cassie/schema/queries/create_keyspace_query.rb', line 6

def durable_writes
  @durable_writes
end

#nameObject

Returns the value of attribute name.



6
7
8
# File 'lib/cassie/schema/queries/create_keyspace_query.rb', line 6

def name
  @name
end

#replication_classObject

Returns the value of attribute replication_class.



6
7
8
# File 'lib/cassie/schema/queries/create_keyspace_query.rb', line 6

def replication_class
  @replication_class
end

#replication_factorObject

Returns the value of attribute replication_factor.



6
7
8
# File 'lib/cassie/schema/queries/create_keyspace_query.rb', line 6

def replication_factor
  @replication_factor
end

Instance Method Details

#statementObject



18
19
20
21
22
23
24
# File 'lib/cassie/schema/queries/create_keyspace_query.rb', line 18

def statement
  cql = %(
    CREATE KEYSPACE IF NOT EXISTS #{name}
    WITH replication = {'class': '#{replication_class}', 'replication_factor': '#{replication_factor}'}
    AND durable_writes = #{!!durable_writes};
   )
end