public this repo is viewable by everyone
Description: Merb More: The Full Stack. Take what you need; leave what you don't.
Homepage: http://www.merbivore.com
Clone URL: git://github.com/wycats/merb-more.git
merb-more / merb-freezer
name age message
..
folder LICENSE Tue Apr 08 21:56:26 -0700 2008 moved the generated frozen merb script to merb-... [matta]
folder README Thu Apr 17 23:01:12 -0700 2008 udpated documentation to reflect merb-freezer l... [matta]
folder README.markdown Sat May 03 17:34:08 -0700 2008 bump merb-more versions to 0.9.3 [ezmobius]
folder Rakefile Fri May 09 15:50:59 -0700 2008 Bump version to 0.9.4. [michaelklishin]
folder TODO Tue Apr 08 23:50:24 -0700 2008 quick doc for github users [matta]
folder bin/ Sun Apr 20 18:28:11 -0700 2008 merb-freezer now unshifts instead of pushes (va... [matta]
folder lib/ Fri May 09 18:38:33 -0700 2008 added rake tasks + support for lib/tasks [matta]
folder spec/ Thu Apr 17 00:44:08 -0700 2008 adding gem freezing, submodules might not work ... [matta]
README.markdown

merb-freezer

This plugin lets you freeze Merb and run it using the frozen gems.

Why would you want to freeze Merb?

  • You might have multiple applications on the same server/slice/cluster. Different applications might require different versions of Merb.

  • You might work with a team of developers and want everyone to be using the same Merb version.

  • You are using Merb Edge, you want to make sure the production server and your co workers are developing/testing against the same revision.

What are your options?

  • You just want to lock your app to a specific version. For instance version merb-core 0.9.3

  • You only want to use frozen gems located in /framework or /gems

How to lock your app?

TODO

How to use frozen gems

Instead of starting merb by typing "merb" in your console, type "frozen-merb" and that's it :) If frozen-merb can't find frozen gems in /framework or /gems then Merb will start normally using the system's gems.

You can also specify the path to use to start your frozen app by passing --merb-root or -m argument and the path to your app. (for god/monit scripts for instance)

How to freeze your gems?

In your init.rb file, require this plugin.

require 'merb-freezer'

You now get a new set of rake tasks:

rake freeze:core            # Freeze core from git://github.com/wycats/merb...
rake freeze:more            # Freeze more from git://github.com/wycats/merb...
rake freeze:plugins         # Freeze plugins from git://github.com/wycats/m...

You can freeze components using 2 modes, Git Submodules or rubygems:

rake freeze:core MODE=rubygems

or rake freeze:core MODE=submodules (default mode)

Wait, that's not it, you can also update your frozen gems using UPDATE=true:

rake freeze:core UPDATE=true

What about your other gems? Same thing, you can do:

rake freeze:gem GEM=merbful_authentication

or

rake freeze:gem GEM=git://github.com/ivey/merb-for-rails.git