On Sep 23, 2004, at 9:20 PM, Gavin Kistner wrote:
> class Foo::Bar::Whee::La < Foo::Bar::Whee
> 	def turn_on; ...; end
> 	def get_funky( speed, dance_style, song ); ...; end
> 	...
> 	describe_method( :turn_on, "Turn On", "Turns on the switch" )
> 	describe_method( :get_funky,
> 		"Get Funky",
> 		"Breaks down to the beat.",
> 		{
> 			:speed => {
> 				:type => :integer,
> 				:min => 0,
> 				:max =>100
> 			},
> 			:dance_style => {
> 				:type => :list,
> 				:values => ['Hip Hop','Disco' ]
> 			},
> 			:song => {
> 				:type => :file,
> 				:mask => /\.(mp3|ogg|aiff)$/
> 			}
> 		}
> 	)
> end


Oops, I forgot that Hashes in Ruby aren't ordered. But you get the 
idea, albeit with an array and an extra hash spot naming the parameter.

Or maybe by the time I'm done, Ruby will have added keyword-arguments 
natively supported ;)

--
"When I am working on a problem I never think about beauty. I only 
think about how to solve the problem. But when I have finished, if the 
solution is not beautiful, I know it is wrong."
- R. Buckminster Fuller