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