Skip to content

Latest commit

 

History

History
 
 

ruby

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ruby Driver

For more information about this driver see the Ruby API page.

If you're here to hack on the Ruby client, I apologize in advance. The code was never the cleanest, and it's been through several messy overhauls since it was first written.

Usage

Before this driver can be used a constants file has to be built. Please use make in this directory, or make rb-driver from the top-level.

The easiest way to start playing with the ruby client in this directory (as opposed to the globally installed one) is to use irb and load the quickstart.rb script:

~/rethinkdb/drivers/ruby $ PORT_OFFSET=0 irb --readline
irb(main):001:0> load 'quickstart.rb'
=> true
irb(main):002:0> r.db_list.run
=> ["test"]

Hacking

Here's a rough overview of the files in lib:

  • rethinkdb.rb -- The file users load. Includes everything else and holds a little bit of wrapper convenience code.
  • func.rb -- The code that implements all the ReQL commands.
  • shim.rb -- Code for constructing ReQL values, and for converting ReQL values to and from JSON.
  • net.rb -- Code for talking to the RethinkDB server and managing connections/cursors.
  • rpp.rb -- Here be dragons. Code for pretty-printing ReQL values, with or without backtraces.
  • exc.rb -- The exceptions the driver will throw.
  • ql2.pb.rb -- A constants file generated by the build script.

Testing

You can find the tests for this and the other two official drivers at rethinkdb/test/rql_test/ .