-
home: proutils.github.com/pom
-
work: github.com/protuils/pom
DESCRIPTION
POM stands for Project Object Model (yes, a term co-opted from Java/Maven world). Ruby's POM provides a standardized layout and a class model for working with Ruby projects. POM largely supports the most common practices of the Ruby community. In a few areas it takes things a step further to define practices of its own in order to expand it's capabilites.
RELEASE NOTES
Please see HISTORY.rdoc file.
SYNOPSIS
Primarily POM defines a standard set of project layout and design patterns. Most of these derive for setup.rb –the original Ruby project specification, and common patterns widely used among the Ruby community.
This specification is implementated in Ruby code. Common usage is to create a Project object passing the constructor the root directory of the project.
project = POM::Project.new(root_directory)
The project object then ties into all the rest of available metadata, e.g.
project.name project.version project.profile etc...
POM also provides a command line tool with some useful project utilities. For example, it can be used to bump a project's version number.
$ pom bump --patch
See the Wiki and API documentation for further details.
Upgrading from 1.x to 2.0
Earlier versions of POM used a directory-based configuration store, storing each peice of informtation in a separate file under the meta/ or .meta/ directory. The latest versions of POM have replaced this with a small set of YAML-base configuration files. While both approaches has their advantages and disadvantages, POM moved to later primarily because of it’s familiarity to developers.
If you were using an old version of POM with a project and need to updgrade, the pom command provides a helpful subcommand:
$ pom upgrade
This will create a PROFILE, PACKAGE and REQUIRE file containing the entries in the meta/ or .meta/ directory. It will not be prefect, so be sure to edit the files, but it will at least make the process much easier.
DEVELOPMENT
You can subscribe to the ProUtils mailing list by sensing a message to this mailing address.
Or visit groups.google.com/group/proutils.
Integration testing is handled by QED and unit testing is handled by Lemon.
HOW TO INSTALL
To install with RubyGems simply open a console and type:
$ sudo gem install pom
Site installation requires Setup.rb (gem install setup), then download the tarball package and type:
$ tar -xvzf pom-2.1.0.tar.gz $ cd pom-2.1.0.tar.gz $ sudo setup.rb all
Windows users use ‘ruby setup.rb all’.
LICENSE/COPYRIGHT
(MIT License)
Copyright © 2009 Thomas Sawyer
This program is ditributed under the terms of the MIT license.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
See LICENSE file for more details.