Class: ActiveColumn::Tasks::ColumnFamily

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

Constant Summary collapse

COMPARATOR_TYPES =
{ :time      => 'TimeUUIDType',
:timestamp => 'TimeUUIDType',
:long      => 'LongType',
:string    => 'BytesType' }

Instance Method Summary collapse

Constructor Details

#initializeColumnFamily

Returns a new instance of ColumnFamily.



12
13
14
# File 'lib/active_column/tasks/column_family.rb', line 12

def initialize
  @cassandra = ActiveColumn.connection
end

Instance Method Details

#clear(name) ⇒ Object



33
34
35
# File 'lib/active_column/tasks/column_family.rb', line 33

def clear(name)
  @cassandra.truncate!(name.to_s)
end

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



20
21
22
23
24
25
26
27
# File 'lib/active_column/tasks/column_family.rb', line 20

def create(name, options = {})
  opts = { :name => name.to_s,
           :keyspace => @cassandra.keyspace,
           :comparator_type => 'TimeUUIDType' }.merge(options)

  cf = Cassandra::ColumnFamily.new.with_fields(opts)
  @cassandra.add_column_family(cf)
end

#drop(name) ⇒ Object



29
30
31
# File 'lib/active_column/tasks/column_family.rb', line 29

def drop(name)
  @cassandra.drop_column_family(name.to_s)
end

#exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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