Class: CassandraObject::Tasks::ColumnFamily

Inherits:
Object
  • Object
show all
Defined in:
lib/cassandra_object/tasks/column_family.rb

Constant Summary collapse

COMPARATOR_TYPES =
{ :time      => 'TimeUUIDType',
:timestamp => 'TimeUUIDType',
:long      => 'LongType',
:string    => 'BytesType',
:utf8      => 'UTF8Type' }
COLUMN_TYPES =
{     :standard  => 'Standard',
:super     => 'Super' }

Instance Method Summary collapse

Constructor Details

#initialize(keyspace) ⇒ ColumnFamily

Returns a new instance of ColumnFamily.



16
17
18
# File 'lib/cassandra_object/tasks/column_family.rb', line 16

def initialize(keyspace)
  @keyspace = keyspace
end

Instance Method Details

#clear(name) ⇒ Object



51
52
53
# File 'lib/cassandra_object/tasks/column_family.rb', line 51

def clear(name)
  connection.truncate!(name.to_s)
end

#create(name, options = {}, &block) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/cassandra_object/tasks/column_family.rb', line 24

def create(name, options={}, &block)
  options = {
    :comparator_type => 'BytesType',
    :column_type => 'Standard',
  }.merge(options)

  cf = Cassandra::ColumnFamily.new
  cf.name = name.to_s
  cf.keyspace = @keyspace.to_s
  options.each do |option, value|
    cf.send("#{option}=", value)
  end

  block.call cf if block

  post_process_column_family(cf)
  connection.add_column_family(cf)
end

#drop(name) ⇒ Object



43
44
45
# File 'lib/cassandra_object/tasks/column_family.rb', line 43

def drop(name)
  connection.drop_column_family(name.to_s)
end

#exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/cassandra_object/tasks/column_family.rb', line 20

def exists?(name)
  connection.schema.cf_defs.find { |cf_def| cf_def.name == name.to_s }
end

#rename(old_name, new_name) ⇒ Object



47
48
49
# File 'lib/cassandra_object/tasks/column_family.rb', line 47

def rename(old_name, new_name)
  connection.rename_column_family(old_name.to_s, new_name.to_s)
end