Shouldn't this be only on the documented_action rather than on each documented_param for that action? I can see you need to use it later to work out the param type (form, query, url etc.), so we probably need to provide a reference on the documented_param back to the documented_action to delegate this to.

The line below could become something like 
```ruby
@params[param_name] = DocumentedParam.new param_name, self, options
```
Then DocumentedParam would delegate http_method to that second parameter, e.g.
```ruby
class DocumentedParam
  #...more code
  attr_accessor :documented_action
  def initialize(name, documented_action, opts={})
    @name = name
    @documented_action = documented_action
    opts.each {|k,v| self.send("#{k}=", v) }
  end
```
Anyway, talk more tomorrow.