# Setup.rb 5 coming soon, could use some assistance

**URL:** <https://www.ruby-forum.com/t/setup-rb-5-coming-soon-could-use-some-assistance/179736>\
**Category:** Ruby\
**Created:** [December 2, 2009, 9:18pm UTC](https://www.ruby-forum.com/t/setup-rb-5-coming-soon-could-use-some-assistance/179736 "2009-12-02T21:18:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tcsnide](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eb8c5e/32.png) [@tcsnide](https://www.ruby-forum.com/u/tcsnide)\
**Post date:** [December 2, 2009, 9:18pm UTC](https://www.ruby-forum.com/t/setup-rb-5-coming-soon-could-use-some-assistance/179736/1 "2009-12-02T21:18:39Z")

</div>

Over the last week I’ve been readying Setup.rb 5.0 for release. This  
is a rewrite of setup.rb that I have been planning for some time.  
Minero A.'s last version, 3.4.1, is a monolithic script. Over the  
course of the 4.x series I have been re-working portions of the  
original, for instance I retrofitted it to use OptionParser. With 5.x  
I have now made the system truly object-oriented --each phase of the  
setup process has it’s own class. I have also added Cucumber features  
to test overall functionality of the system.

While there are important and significant differences between the  
original 3.4.1 version and the current 5.0.0 verison, the overall  
functionality remains the same. The important distinctions are:

- Config file is stored in SetupConfig instead of .config (modern  
projects often use .config as a directory)
- The config files now uses YAML (and can be dynamic via Erb if  
needed).
- The directory convention ‘conf’ has been changed to ‘etc’ (per FHS).
- Multi-package project layouts are no longer supported (YAGNI).
- Old Metaconfig API is no longer supported; support is now handled  
via singleton extension.
- Old Hook API is no longer supported (new hook support is planned  
via singleton extension).
- Can be run as a stand-alone executable, installed via ‘gem install  
setup’.
- But can still be used old-school style distributed with your  
project.
- It no longer supports versions of Ruby older than v1.6.3.

Though I am nearing release, before I do so it would be very helpful  
to find one or more persons with FHS expertise and preferably Cucumber  
experience that could spend a little time reviewing the code and  
buffing up the Cucumber features to ensure things are working properly  
and the system is robust enough for production use.

The project can be found at: [http://github.com/proutils/setup](http://github.com/proutils/setup)

Thanks.
