Ruby はいわゆる純粋なオブジェクト指向言語である。 厳密には議論の余地があるとはいえ,通俗的には あらゆるものがクラス (class) のインスタンスである。 すべてのクラスはモジュール (module) でもあるが, クラスでないモジュールも存在する。 そういったモジュールは直接自分自身のインスタンスを作ることができない。 モジュールは名前空間として,またはクラスへの mix-in として使われる。 クラスそれ自身はメタクラス (metaclass) である Class のインスタンスである。 モジュールそれ自身はメタクラス Module のインスタンスである。 Class は Module の派生クラスであり, Module は Object の派生クラスである。 そして Object それ自身は Class のインスタンスである。 新しいモジュールを定義するには, module