Rudimentary Redis over HTTP(S)
Failed to load latest commit information.
bin FIXED: Bone::VERSION Dec 17, 2010
config Added Redis 2 config Dec 15, 2010
lib Updated canonical_host handling for String input Dec 20, 2010
try Updated token object tryouts Dec 23, 2010
vendor/drydock-0.6.8 Added drydock to vendor Dec 12, 2009
CHANGES.txt Updated Tryouts for latest Familia Dec 20, 2010
Gemfile Fix Bone::VERSION Dec 15, 2010
Gemfile.lock Updated gemspec and Rakefile; Added Gemfile Dec 15, 2010
LICENSE.txt Copyright (c) 2009-2011 Delano Mandelbaum, Solutious Inc. Dec 15, 2010 "Rudimentary Redis over HTTP(S)" Jan 6, 2011
Rakefile "Rudimentary Redis over HTTP(S)" Jan 6, 2011
Rudyfile Updated Rudyfile Feb 20, 2010
bone.gemspec "Rudimentary Redis over HTTP(S)" Jan 6, 2011

Bone - 0.3

Rudimentary Redis over HTTP(S)

NOTE: This version is not compatible with previous versions of Bone.


  • Store variables and files remotely
  • A command-line and ruby interface
  • Secure REST API (based on AWS sig)
  • Also supports direct Redis access.

CLI Example

# Specify arbitrary keys and values. 
$ bone set cust_id c397d2
$ bone cust_id

# Set values from STDIN
$ >config/redis-server.conf bone set redis_conf 
$ bone redis_conf 
[content of redis-server.conf]

# The data doesn't have to be text
$ >path/2/dog.jpg bone set dog_picture
$ bone dog_picture > dog.jpg 
$ open dog.jpg

# Show all available keys
$ bone keys

Ruby Example

require 'bone'

Bone[:cust_id] = 'c397d2'
Bone[:redis_conf] ='config/redis-server.conf')

Bone[:cust_id]                    # => "c397d204aa4e94f566d7f78c"
Bone[:redis_conf]                 # => "[content of redis-server.conf]"

# OR

bone =
bone[:latest_backup] = 'redis.rdb-2011-01-01'
bone.keys                         # => ['cust_id', 'latest_backup', 'redis_conf']


Bone can store data via a REST API or directly to Redis. The default source is redis://


If you are running Redis at a different address or port, you can change it by setting the BONE_SOURCE environment variable or by explicitly setting in Ruby with Bone.source='redis://anotherhost:6379'.


If you want to use the REST API, you need to run an instance of boned (the bone daemon).You'd then set your bone source to something like https://somehost:3073. Note: unless your bone client and server are on a private network, it is highly recommended to use HTTPS.

The Bonery

You can use the Bone daemon hosted at The Bonery. You'll need to generate a token and set your BONE_SOURCE to


$ sudo gem install bone

$ bone generate
# Your token for http://localhost:3073

[Add BONE_TOKEN and BONE_SECRET to your .bashrc or equivalent]

$ bone



  • Kalin Harvey and Marc-AndrĂ© Cournoyer for the early feedback.


Copyright (c) 2009-2011 Delano Mandelbaum, Solutious Inc.

Distributes under the same terms as Ruby