From: Alan Chen Date: 2002-09-19T15:59:25+09:00 Subject: Re: Business Objects Most libraries I've seen have a top level "load-it-all" file and sub-files for independently useful modules. Something like the following: files in lib project.rb project/inventory.rb project/orders.rb project.rb might contain: # load all project files require 'project/inventory' require 'project/orders' Individual utilities or tools, might just include only the modules they work with: require 'project/inventory' # just loads the inventory module of the project inv = Project::Inventory.new Usually the top level 'container' is a module, but you can dynamically add to the module. For instance project/inventory.rb might have: module Project class Inventory end end and orders.rb module Project class Orders end end -- Alan Chen Digikata LLC http://digikata.com