public
Description: The original WADL.rb library from Leonard Richardson (of OReilly's "RESTful Web Services" fame)
Clone URL: git://github.com/cheapRoc/wadl.rb.git
Search Repo:
name age message
folder README Mon Jun 02 20:06:41 -0700 2008 initial commit of original content [cheapRoc]
folder examples/ Mon Jun 02 20:06:41 -0700 2008 initial commit of original content [cheapRoc]
folder lib/ Mon Jun 02 20:06:41 -0700 2008 initial commit of original content [cheapRoc]
folder test/ Mon Jun 02 20:06:41 -0700 2008 initial commit of original content [cheapRoc]
README
This is a Ruby client for the Web Application Description Language. It
hides the details of HTTP communication between a web service client
and a REST or HTTP+POX web service.

We hope that WADL descriptors and client libraries will replace
one-off wrapper libraries specific to one service and one programming
language -- or at least make such wrapper libraries much easier to
write.

WADL homepage: http://wadl.dev.java.net/
wadl.rb homepage: http://www.crummy.com/software/wadl.rb/

Interesting Features:

* Traversing the tree of resources is like traversing a data
  structure. Here's code to get recent posts from del.icio.us:

 WADL::Application.from_wadl(open("delicious.wadl")).v1.posts.recent.get

* Faults are custom subclasses named after the fault ID. You can catch
  specific faults.

* You can bind some parameters (such as authentication parameters or
  API keys) permanently to the WADL application, and leave others (such
  as search queries) to be bound differently for each request.

* This feature isn't in the WADL standard yet: you can define
  "header"-style parameters to be included in the HTTP request
  headers. See delicious.wadl for an example.

Shortcomings:

The 20060802 WADL standard is almost entirely supported. However,

* XML grammars are more or less ignored
* As are links