<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,8 +1,37 @@
 dep 'rails app' do
-  requires 'vhost enabled', 'webserver running', 'migrated db'
+  requires 'gems installed', 'vhost enabled', 'webserver running', 'migrated db'
   asks_for :domain, :username, :rails_env
 end
 
+def parse_gem_deps
+  IO.readlines(
+    File.expand_path rails_root / 'config/environment.rb'
+  ).grep(/^\s*config\.gem/).map {|l|
+    i = l.scan /config\.gem[\s\('&quot;]+([\w-]+)(['&quot;],\s*\:version\s*=&gt;\s*['&quot;]([&lt;&gt;=!~.0-9\s]+)['&quot;])?.*$/
+
+    if i.first.nil? || i.first.first.nil?
+      log_error &quot;Couldn't parse '#{l.chomp}' in #{File.expand_path 'config/environment.rb'}.&quot;
+    else
+      {i.first.first =&gt; i.first.last}
+    end
+  }.compact
+end
+
+dep 'gems installed' do
+  setup {
+    parse_gem_deps.map {|gem_spec|
+      # Make a new Dep for each gem this app needs...
+      gem(&quot;#{gem_spec.keys.first} gem&quot;) {
+        installs gem_spec
+        provides []
+      }
+    }.each {|dep|
+      # ... and set each one as a requirement of this dep.
+      requires dep.name
+    }
+  }
+end
+
 dep 'migrated db' do
   requires 'deployed app', 'existing db', 'rails'
   met? {
@@ -24,7 +53,6 @@ dep 'migrated db' do
 end
 
 dep 'deployed app' do
-  asks_for :rails_root
   met? { File.directory? File.expand_path rails_root / 'app' }
 end
 </diff>
      <filename>deps/rails.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cf08f355da10670ba30208e1db79396cb24f75aa</id>
    </parent>
  </parents>
  <author>
    <name>Ben Hoskings</name>
    <email>ben@hoskings.net</email>
  </author>
  <url>http://github.com/benhoskings/babushka/commit/26e54f00dd36ea08f0a966bd50bbd1d8dd53ea20</url>
  <id>26e54f00dd36ea08f0a966bd50bbd1d8dd53ea20</id>
  <committed-date>2009-07-05T09:46:36-07:00</committed-date>
  <authored-date>2009-07-05T09:46:36-07:00</authored-date>
  <message>Parse rails apps' &quot;config.gem&quot;s at runtime and add them as deps.</message>
  <tree>c80833c00dd1d35d0072d15bf6ca911b2c944792</tree>
  <committer>
    <name>Ben Hoskings</name>
    <email>ben@hoskings.net</email>
  </committer>
</commit>
