Skip to content
This repository has been archived by the owner. It is now read-only.
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A Cube client for Ruby ( Heavily based on this statsd ruby client.

MIT licensed. See the LICENSE file for more details. for more details.


Since Cube is under constant development, it's best if you specify a particular version of cube-ruby in your Gemfile. That way, you can ensure your Ruby application and your Cube instance will be compatible with each other.

Here's a version compatibility table:

Cube   | cube-ruby
0.2.0  | 0.0.1
0.2.1+ | 0.0.2 (master)

Add this line to your application's Gemfile:

gem 'cube-ruby', require: "cube"

# or specify a particular version:
gem 'cube-ruby', '0.0.2', require: "cube"

And then execute:

$ bundle

Or install it yourself as:

$ gem install cube-ruby


Set up a global Cube client

# use default hostname and port of localhost:1180
$cube =

# use custom hostname and port
$cube = '', 2280

Send Cube some metrics!

# send a new "foo" event to cube
$cube.send "foo"

# send a new event to cube that looks like this:
# { type: "request", data: { value: "somevalue" } }
$cube.send "request", value: "somevalue"

# optionally specify a specific date/time (two days ago)
$cube.send "request", - 2, value: "othervalue"

# specify an event id (
event_id = 42
$cube.send "request",, event_id, duration_ms: 234

Yes, the method is called send. You can still call Object#send on Cube::Client objects by using the __send__ method, per the Ruby docs.


Run the specs with rake.

To include real UDP socket testing in the specs, run LIVE=true rake.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
You can’t perform that action at this time.