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