Common use-cases should be streamlined:
I have a URL that I want to sign (given consumer key/secret, optional token/secret, optional nonce/timestamp).
I have a URL that I want to sign AND I want to see what the components (e.g. signature base string, etc.) are while it's being signed (i.e. verbose signing).
I have a URL that I want to sign and I only want the signature.
I have a URL that I want to sign and I want something suitable to put in {the header, the querystring, XMPP}.
I want to make a query to an OAuth-enabled web service (with sensible errors, if available).
I want to host an OAuth-enabled web service.
I want to test my OAuth-enabled web service (i.e. test helpers)
Example applications for:
Ning
Fire Eagle
Google (blogger, contacts)
YOS / YQL
Netflix
In addition to providing best practices of use, these can also be part of the pre-release checks to make sure that there have been no regressions.
Random TODOs:
finish CLI
sensible Exception hierarchy
Tokens as Modules
don't tie to Net::HTTP
Take a look at Curb HTTP Verbs