Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
log
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

CrateDB Ruby Client

Gem Version Build Status Code Climate

A Ruby client library for CrateDB.

Prerequisites

You will need Ruby 2.0 or greater.

Installation

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

Examples

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')

Version matrix

Crate Ruby CrateDB
< 0.9 < 0.57
0.9 >= 0.57

Contributing

This project is primarily maintained by Crate.io, but we welcome community contributions!

See the developer docs and the contribution docs for more information.

Help

Looking for more help?

About

A Ruby client library for CrateDB.

Topics

Resources

License

Packages

No packages published
You can’t perform that action at this time.