> > 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