The three rules of Ruby Quiz:

1.  Please do not post any solutions or spoiler discussion for this quiz until
48 hours have passed from the time on this message.

2.  Support Ruby Quiz by submitting ideas as often as you can:

http://www.rubyquiz.com/

3.  Enjoy!

Suggestion:  A [QUIZ] in the subject of emails about the problem helps everyone
on Ruby Talk follow the discussion.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

by Pat Eyler

This week's quiz is a bit of a departure from the normal.  Instead of submitting
different implementations of the same code, we'd like you to submit different
implementations of the same process -- Refactoring.

Refactoring is the art of improving the design of existing code, without
changing it's functional behaviour.  It is well documented in the book
'Refactoring' by Martin Fowler, and on his website:

	http://www.refactoring.com

The quiz this week is to submit refactorings of code you use -- whether your own
code, a library or application for RubyForge, or even something from the
Standard Library.  Any submission should implement a refactoring from:

	http://www.refactoring.com/catalog/index.html

or other citable sources, e.g.:

	http://kallokain.blogspot.com/2006/01/refactoring-extract-mixin.html

Each Submission should follow this outline:

	Refactoring name (and citation if needed)
	Original code
	Explanation of the purpose and mechanics of the refactoring
	New code
	(optionally, unit tests created/used to verify the code)

Submissions will be combined into an online catalog of Ruby Refactorings,
probably on the RubyGarden wiki.