CassandraDB
Cassandra DB adapter inspired on Sequel
Installation
Add this line to your application's Gemfile:
gem 'cassandra_db'
And then execute:
$ bundle
Or install it yourself as:
$ gem install cassandra_db
Usage
Connect
db = CassandraDB.connect hosts: ['localhost'], port: 9042, keyspace: 'system'
Metadata
db.keyspace # => :system
db.keyspaces # => [:system, :system_traces]
db.tables # => Array of table names in current keyspace
Change keyspace
db.use_keyspace 'my_keyspace'
db.keyspace # => :my_keyspace
Create and drop keyspaces
replication_opts = {
class: 'SimpleStrategy',
replication_factor: 1
}
db.create_keyspace :my_keyspace, replication: replication_opts, durable_writes: true
db.drop_keyspace :my_keyspace
Queries
dataset = db[table_name] # => CassandraDB::Dataset
dataset = db[table_name].where(field: 'value') # => CassandraDB::Dataset
Dataset/Enumerable methods
dataset.count
dataset.each
dataset.map
dataset.all
Insert, Update, Delete
dataset.insert id: 1, name: 'Name 1'
dataset.where(id: 1).update name: 'Name 2'
dataset.where(id: 1).delete
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/gabynaiman/cassandra_db.
License
The gem is available as open source under the terms of the MIT License.