> > If you access reqs['key'], then you'll always get a non-array object.
> > reqs.get_array['key'] will return you an array like cgi.rb does
> > currently.
> 
> I see value in seperating 
> 
> + pick this param, e.g. cgi["key"]
> + choose how to use it, e.g. value.values or value.multiple
> 
> into separate decisions, in that order.

Let me bounce this over from IRC.  This isn't exactly the nicest
solution, but it's pretty developer friendly, IMHO.



What's a better API:

Suppose p['name'] has two values:

p['name']  >>  val1    # on second call, p['name'] will return a new value
p['name']  >>  val2    # in a round robin fashion 

or

p['name']  >> ['val1','val2']  # if multiple vals per key
p['name']  >> 'val1'           # if only one val per key


For me this gets at the problem of []() not knowing its context in
which it's called (not knowing what the receiver is expecting).

s|a: i prefer array
s|a: with the first one, how could i get the same one twice in a row?
seanoc: calling the method would wrap around and you could reset the
        cursor and delete elements
seanoc: I prefer the 2nd API... but am not wild about a dynamic return
        type (ex: array vs string)

p['key1'] >> 'single_val'
p['key2'] >> ['val1','val2']


The 2nd API is perl-esque, but unheard of outside of perl, IMO.
The 1st API is very Apache (internal data structures stored in tables).

I could care less.  Think of me as a bastard product of both so I'm
not feeling decisive in this regard.  Someone suggested I write this
bit of functionality in a non-mod_ruby specific way that way it could
be used in WEBrick (sp?).  Opinions anyone?  -sc

-- 
Sean Chittenden