h1. *Optionsful* Provide HTTP OPTIONS support for the Ruby on Rails framework. * Note for the impatient: installation instructions below. * Note for the dummies: change host names and paths properly. * Note for the unfaithful: run @rake routes@ to validate the results. h2. "-No! No! No! *-Show me the code!*" h3. Retrieving an HTTP OPTIONS request via telnet:
  
$ telnet localhost 3000 
OPTIONS /posts HTTP/1.1
Host: http://localhost:3000

HTTP/1.1 204 No Content 
Allow: GET, POST
Connection: close
Date: Thu, 22 Jul 2010 17:20:27 GMT
Link: "; type=text/html; rel=help"

OPTIONS /posts/1 HTTP/1.1
Host: http://localhost:3000

HTTP/1.1 204 No Content 
Allow: GET, PUT, DELETE
Connection: close
Date: Thu, 22 Jul 2010 18:14:24 GMT
Link: "; type=text/html; rel=help"

OPTIONS /posts/1/comments HTTP/1.1
Host: http://localhost:3000

HTTP/1.1 204 No Content 
Allow: GET, POST
Connection: close
Date: Thu, 22 Jul 2010 18:12:43 GMT
Link: "; type=text/html; rel=help"

~Note the empty line which is part of the HTTP protocol.~ h3. Telnet is the geek way. You would like better to use an HTTP client software. I use "HTTP Client":http://ditchnet.org/httpclient/ on Mac OS X. h2. INSTALLATION: # Change directory to your Ruby on Rails web application, # Add gem dependency to @config/environment.rb@:
  config.gem "optionsful"
# To install it, run @rake gems:install@ or:
  $ gem install optionsful
# Enjoy! And give feedback! :) h2. Link header WARNING To enable the Link URI on your application, check the "Wisdomful":http://github.com/kayaman/wisdomful project! h3. Link base path (Note: _Work in Progress_) * To change the generated URI base path, install and edit the configuration file: ** run @rake optionsful:yml@ ** edit the 'optionsful.yml' file at your application's 'config' folder. * Example:
development:
  http: 
    base_path: /blopts
* Note: @Allow@ and @Link@ are expected headers on a response to an HTTP OPTIONS request. I will think about some features to add more flexibility on the @Link@ generation pretty soon. h2. KNOWN ISSUES * Rails route recognition still need some work * Platform: ruby 1.8.7, rails 2.3.8, rack 1.2.1 h2. Get involved * Mailing list: http://groups.google.com/group/optionsful * Bug tracker : http://kayaman.lighthouseapp.com/projects/56438-optionsful/overview h2. CONTRIBUTORS * Me, myself and I, so far. * You are welcome, do it. ;-) Copyright (c) 2010 Marco Antonio Gonzalez Junior, kayaman@baurets.net, released under the MIT license.