Page Objects

The Page Object pattern is a way to represent pages and their elements in reusable classes. The watir-webdriver wiki has a thorough explanation of the concept.

There are several gems that help you implement page objects: