A Ruby client library for CrateDB.
You will need Ruby 2.0 or greater.
The CrateDB Ruby client is available as a Ruby gem.
Add this line to your application's Gemfile:
gem 'crate_ruby'
Or, install it manually, like so:
$ gem install crate_ruby
Set up the client like so:
require 'crate_ruby' client = CrateRuby::Client.new
Execute SQL queries like so:
result = client.execute("Select * from posts")
=> #<CrateRuby::ResultSet:0x00000002a9c5e8 @rowcount=1, @duration=5>
result.each do |row|
puts row.inspect
end
=> [1, "test", 5]
result.cols
=> ["id", "my_column", "my_integer_col"]
Perform parameter substitution like so:
client.execute(
"INSERT INTO posts (id, title, tags) VALUES (\$1, \$2, \$3)",
[1, "My life with crate", ['awesome', 'cool']])
Manipulate BLOBs like so:
digest = Digest::SHA1.file(file_path).hexdigest # upload f = File.read(file_path) client.blob_put(table_name, digest, f) # download data = client.blob_get(table_name, digest) open(file_path, "wb") do |file| file.write(data) end # deletion client.blob_delete(table_name, digest)
Schema support
A default schema can be set by passing in the schema name:
CrateRuby::Client.new(['localhost:44200'], schema: 'my_schema')
Authentication
Authentication credentials can be passed to the client if needed:
CrateRuby::Client.new(['localhost:44200'], username: 'foo', password: 'supersecret')
| Crate Ruby | CrateDB |
|---|---|
| < 0.9 | < 0.57 |
| 0.9 | >= 0.57 |
This project is primarily maintained by Crate.io, but we welcome community contributions!
See the developer docs and the contribution docs for more information.
Looking for more help?
- Check StackOverflow for common problems
- Chat with us on Slack
- Get paid support