Class: CassandraObject::Tasks::Keyspace
- Inherits:
-
Object
- Object
- CassandraObject::Tasks::Keyspace
- Defined in:
- lib/cassandra_object/tasks/keyspace.rb
Class Method Summary collapse
Instance Method Summary collapse
- #clear ⇒ Object
- #create(name, options = {}) ⇒ Object
- #drop(name) ⇒ Object
- #exists?(name) ⇒ Boolean
- #get ⇒ Object
- #schema_dump ⇒ Object
- #schema_load(schema) ⇒ Object
- #set(name) ⇒ Object
Class Method Details
.parse(hash) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 7 def self.parse(hash) ks = Cassandra::Keyspace.new.with_fields hash ks.cf_defs = [] hash['cf_defs'].each do |cf| ks.cf_defs << Cassandra::ColumnFamily.new.with_fields(cf) end ks end |
Instance Method Details
#clear ⇒ Object
51 52 53 54 55 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 51 def clear return puts 'Cannot clear system keyspace' if connection.keyspace == 'system' connection.clear_keyspace! end |
#create(name, options = {}) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 20 def create(name, = {}) = .symbolize_keys replication_opts = { :strategy => 'org.apache.cassandra.locator.SimpleStrategy', :factor => 1, }.merge(([:replication] || {}).symbolize_keys || {}) opts = { :name => name.to_s, :strategy_class => replication_opts[:strategy], :strategy_options => { 'replication_factor' => replication_opts[:factor].to_s, }, :cf_defs => [] }.merge() ks = Cassandra::Keyspace.new.with_fields(opts) connection.add_keyspace ks end |
#drop(name) ⇒ Object
39 40 41 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 39 def drop(name) connection.drop_keyspace name.to_s end |
#exists?(name) ⇒ Boolean
16 17 18 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 16 def exists?(name) connection.keyspaces.include? name.to_s end |
#get ⇒ Object
47 48 49 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 47 def get connection.keyspace end |
#schema_dump ⇒ Object
57 58 59 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 57 def schema_dump connection.schema end |
#schema_load(schema) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 61 def schema_load(schema) connection.schema.cf_defs.each do |cf| connection.drop_column_family cf.name end keyspace = get schema.cf_defs.each do |cf| cf.keyspace = keyspace connection.add_column_family cf end end |
#set(name) ⇒ Object
43 44 45 |
# File 'lib/cassandra_object/tasks/keyspace.rb', line 43 def set(name) connection.keyspace = name.to_s end |