Hello. I am hitting a nasty error where the Ruby interpreter is only expecting one argument for a particular method call, but it is actually declared to have three arguments. The error is happening when trying to invoke this method...
def dispatch(cgi = nil, session_options = ActionController::CgiRequest:
EFAULT_SESSION_OPTIONS, output = $stdout)
....
end
Below are the two error messages when using two different web servers to try to invoke the request:
#<ArgumentError: wrong number of arguments (3 for 1)>
["C:/sdks/ruby/1.8.4/lib/ruby/gems/1.8/gems/rails-1.1.4/lib/webrick_server.rb:115:in `dispatch'",
...and...
Error calling Dispatcher.dispatch #<ArgumentError: wrong number of arguments (3 for 1)>
C:/sdks/ruby/1.8.4/lib/ruby/gems/1.8/gems/mongrel-0.3.13.3-mswin32/lib/mongrel/rails.rb:73:in `dispatch'
The real pain comes in when looking at the source for both cases, webrick_server.rb:115 and mongrel/rails.rb:73 and noticing that the calls *do* have three arguments, and the method definition is expecting three arguments.
Any idea why the interpreter would only think one argument required for this method?
thanks,
~harris