= YamlRpc -- advanced RPC client on YAML

Supports:

* Data types (String, Regexp, Arrays, Hashes etc.)
* Passing images, PDFs and other binary data so easy you don't even think about it
* HTTP redirects
* HTTP Authentication

Simple to use:

client = YamlRpc::Client.new('http://localhost:3000/api/basic')

client.add_foo_bar( :foo => 3, :bar => 5 ) # -> { :result => 8 }
client.add(7, 11) # -> 18
client.upload(:image => open('image.gif', 'rb').read) # -> uploads image

Example add_foo_bar POSTs:

http://localhost:3000/api/basic/add_foo_bar

passing POST data:

yamlrpc=---%20%0A:foo:%203%0A:bar:%205%0A

which can be captured in any language like PHP, Java or Ruby, ie. Ruby on Rails:

class Api::BasicController < ApplicationController
def add_foo_bar
@yamlrpc = YAML.load(params[:yamlrpc])
render :text => (@yamlrpc[:foo] + @yamlrpc[:bar]).to_yaml
end
end

Result is returned as YAML as well and automatically decoded.

See /examples dir for more examples.

== Download

The latest version:

* http://svn.mirekrusin.com/ruby/yamlrpc/trunk

== Installation

gem install yamlrpc

== License

This library is released under the LGPL license.

== Support

The homepage is located under http://www.rubyforge/projects/yamlrpc

For other information, feel free to ask on the ruby-talk mailing list
(which is mirrored to comp.lang.ruby) or contact mailto:[email protected]