REST Client – simple DSL for accessing REST resources

A simple REST client for Ruby, inspired by the Sinatra’s microframework style of specifying actions: get, put, post, delete.

Usage: Raw URL

require 'rest_client'

xml = RestClient.get 'http://example.com/resource'
jpg = RestClient.get 'http://example.com/resource', :accept => 'image/jpg'

private_resource = RestClient.get 'https://user:[email protected]/private/resource'

RestClient.put 'http://example.com/resource', File.read('my.pdf'), :content_type => 'application/pdf'

RestClient.post 'http://example.com/resource', xml, :content_type => 'application/xml'

RestClient.delete 'http://example.com/resource'

See RestClient module docs for details.

Usage: ActiveResource-Style

resource = RestClient::Resource.new 'http://example.com/resource'
resource.get

private_resource = RestClient::Resource.new 'http://example.com/private/resource', 'user', 'pass'
private_resource.put File.read('pic.jpg'), :content_type => 'image/jpg'

See RestClient::Resource module docs for details.

Usage: Resource Nesting

site = RestClient::Resource.new('http://example.com')
site['posts/1/comments'].post 'Good article.', :content_type => 'text/plain'

See RestClient::Resource docs for details.

Shell

Require rest_client from within irb to access RestClient interactively, like using curl at the command line. Better yet, require gem from within your ~/.rush/env.rb and have instant access to it from within your rush (rush.heroku.com) sessions.

Meta

Written by Adam Wiggins (adam at heroku dot com)

Patches contributed by: Chris Anderson, Greg Borenstein, Ardekantur, Pedro Belo, and Rafael Souza

Released under the MIT License: www.opensource.org/licenses/mit-license.php

rest-client.heroku.com

github.com/adamwiggins/rest-client