# \[ANN\] multi\_rails 0.0.3 Released

**URL:** <https://www.ruby-forum.com/t/ann-multi-rails-0-0-3-released/122716>\
**Category:** Rails\
**Created:** [December 11, 2007, 7:57am UTC](https://www.ruby-forum.com/t/ann-multi-rails-0-0-3-released/122716 "2007-12-11T07:57:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rsanheim](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/47e85d/32.png) [@rsanheim](https://www.ruby-forum.com/u/rsanheim)\
**Post date:** [December 11, 2007, 7:57am UTC](https://www.ruby-forum.com/t/ann-multi-rails-0-0-3-released/122716/1 "2007-12-11T07:57:44Z")

</div>

MultiRails  
by Relevance, [http://thinkrelevance.com](http://thinkrelevance.com)  
Rob S. - MultiRails lead

MultiRails lets you test your Rails plugin or app against many  
versions of Rails in one sweep.

== URLs:

rubyforge: [http://rubyforge.org/projects/multi-rails/](http://rubyforge.org/projects/multi-rails/)  
rdocs: [http://multi-rails.rubyforge.org/](http://multi-rails.rubyforge.org/)  
svn stable:  
[http://robsanheim.googlecode.com/svn/tags/stable/multi\_rails](http://robsanheim.googlecode.com/svn/tags/stable/multi_rails) (gem is  
released from here)  
svn trunk: [http://robsanheim.googlecode.com/svn/trunk/multi\_rails](http://robsanheim.googlecode.com/svn/trunk/multi_rails)  
mailing list: [http://groups.google.com/group/multi\_rails](http://groups.google.com/group/multi_rails)

== DESCRIPTION:

MultiRails allows easy testing against multiple versions of Rails for  
your Rails specific gem or plugin. IT also has tentative support  
testing Rails applications against multiple versions of Rails.

Use MultiRails to hook in Rails 2.0 testing in your continuous  
integration. Still working on Rails 2.0 support? Use MultiRails to  
see where your test suite falls down against the 2.0 preview releases  
of Rails.

MultiRails was initially developed by members of Relevance while  
developing Streamlined  
against edge Rails. To see how Streamlined uses MultiRails, go to  
[http://trac.streamlinedframework.org](http://trac.streamlinedframework.org).

== FEATURES:

- easily test plugins/extensions using a require from your  
test\_helper.rb and a require in your RakeFile
- rake tasks to test against a specified version of Rails, the latest  
version, or all versions
- tentative support for testing plain Rails apps against multiple  
versions of Rails
- Uses rubygems for version management of Rails

== TODOs:

- improve docs on how to override what files are required by multi\_rails
- maybe add ability to load plain Rails versions – ie checked out  
copies not in RubyGems

== NOTES:

- ( **For Rails apps only** ) multi\_rails will rename your vendor/rails  
directory to vendor/rails.off if it finds one within your rails app.  
We have to do this to make Rails fall back to RubyGems rails.  
Multi\_rails will rename back to the correct vendor/rails when done  
testing, so it will not interrupt your app in normal use.
- ( **For Rails apps only** ) multi\_rails needs to add a line to top of  
your environment.rb to hook into – see the instructions below for  
more details

== REQUIREMENTS:

- Ruby 1.8.5 or higher
- Rubygems
- Rails 1.2.1 or higher
- at least one copy of Rails installed via rubygems.

== INSTALLING FOR RAILS APPS

- install the plugin, which will copy the multi\_rails\_runner into your  
script folder on install.  
script/plugin install  
[http://robsanheim.googlecode.com/svn/tags/stable/multi\_rails](http://robsanheim.googlecode.com/svn/tags/stable/multi_rails)

- Run the multi\_rails bootstrap command to get your Rails app ready to  
go with multi\_rails - this will add a require line to the top of your  
environment.rb needed for multi\_rails to work right.  
script/multi\_rails\_runner bootstrap

- Run your tests against all versions of Rails installed (the default):  
script/multi\_rails\_runner  
or run our tests against the most recent version of Rails you have  
installed:  
script/multi\_rails\_runner latest  
or just a specific version:  
MULTIRAILS\_RAILS\_VERSION=1.2.5 script/multi\_rails\_runner one

== INSTALLING FOR PLUGINS

- Install multi\_rails  
sudo gem install multi\_rails

- In your projects Rakefile, require the multi\_rails Rake tasks.

- Run rake -T to verify you see the multi\_rails tasks.  
rake -T multi\_rails

test:multi\_rails:latest…etc"

- In your test\_helper, require multi\_rails\_init _before_ any rails  
specific requires (activerecord, actioncontroller, activesupport,  
etc).

- Run the multi\_rails:all rake task to run your test suite against all  
versions of Rails you have installed via gems. Install other versions  
of Rails using rubygems to add them to your test suite.

- For changing the Rails version under test, set the environment  
variable MULTIRAILS\_RAILS\_VERSION to version you want, and run the  
multi\_rails:one task or just run a test class directly.

== HELP

- Join the mailing list!  
[http://groups.google.com/group/multi\_rails](http://groups.google.com/group/multi_rails)  
removed\_email\_address@domain.invalid

- Rails plugin testing is pretty solid, but rails _app_ testing is  
still new. Post issues to the mailing list.

- Getting gem activation errors? Post to the list with how you are  
using multi\_rails, and I’ll try to help.

== LICENSE:

(The MIT License)

Copyright (c) 2007 Relevance, [http://thinkrelevance.com](http://thinkrelevance.com)

Permission is hereby granted, free of charge, to any person obtaining  
a copy of this software and associated documentation files (the  
‘Software’), to deal in the Software without restriction, including  
without limitation the rights to use, copy, modify, merge, publish,  
distribute, sublicense, and/or sell copies of the Software, and to  
permit persons to whom the Software is furnished to do so, subject to  
the following conditions:

The above copyright notice and this permission notice shall be  
included in all copies or substantial portions of the Software.

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.
