From: Robert Dober Date: 2008-06-24T17:17:19+09:00 Subject: Re: Faking named parameters and enforcing required params On Tue, Jun 24, 2008 at 8:12 AM, Greg Willits wrote: Maybe something like class Hash def require_all_keys *keys keys.all?{ |k| has_key? k } or raise ArgumentError # better doing an each here and raise an exception which argument was missing of course, but I guess you got the idea;) end def provide_defaults defaults={} defaults.each_pair{ |nk,nv| self[nk]=nv unless has_key? nk } end end def whatever params={} params.require :size, :age params.provide_defaults :language => "en", :id => 42 end HTH Robert -- http://ruby-smalltalk.blogspot.com/ --- Les mêmes questions qu'on se pose On part vers où et vers qui Et comme indice pas grand-chose Des roses et des orties. - Francis Cabrel