QueryBuilder

Builder of CQL 3 (Cassandra Query Language) statements in OOP style.
Synopsis
require "query_builder"
include QueryBuilder::CQL::Operators
table = QueryBuilder::CQL.keyspace(:auth).table(:users)
statement = table
.select(:id, :role)
.select(name: :user)
.where(id: cql_gt(1))
.where(id: cql_lte(4))
.using(consistency: :quorum)
.limit(3)
statement.to_s
See the list of all supported contexts, statements and operators.
The gem doesn't depend on any specific Cassandra driver. It could be used to extend official Datastax driver with features of CQL building.
It doesn't validate CQL statements, leaving this to either driver or Cassandra database.
Installation
Add this line to your application's Gemfile:
gem "query_builder"
Then execute:
bundle
Or add it manually:
gem install query_builder
Compatibility
Tested under rubies compatible to MRI 1.9.3+.
Uses RSpec 3.0+ for testing and hexx-suit for dev/test tools collection.
Contributing
- Read the STYLEGUIDE
- Fork the project
- Create your feature branch (
git checkout -b my-new-feature
)
- Add tests for it
- Commit your changes (
git commit -am '[UPDATE] Add some feature'
)
- Push to the branch (
git push origin my-new-feature
)
- Create a new Pull Request
License
See the MIT LICENSE.