<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -6,7 +6,7 @@ inherit gems
 
 DESCRIPTION=&quot;&lt;%= spec.summary %&gt;&quot;
 HOMEPAGE=&quot;&lt;%= spec.homepage %&gt;&quot;
-SRC_URI=&quot;&lt;%= source %&gt;/gems/&lt;%= spec.name %&gt;-&lt;%= spec.version.version %&gt;.gem&quot;
+SRC_URI=&quot;&lt;%= uri %&gt;&quot;
 
 LICENSE=&quot;MIT&quot;
 SLOT=&quot;0&quot;
@@ -14,8 +14,10 @@ KEYWORDS=&quot;~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solar
 IUSE=&quot;&quot;
 RESTRICT=&quot;test&quot;
 
+&lt;%- unless spec.dependencies.empty? -%&gt;
 DEPEND=&quot;
-  &lt;% spec.dependencies.each do |dependency| %&gt;
-  dev-ruby/&lt;%= dependency.name %&gt;
-  &lt;% end %&gt;
-&quot;
\ No newline at end of file
+  &lt;%- spec.dependencies.each do |dependency| -%&gt;
+  &lt;%= atom_of(dependency) %&gt;
+  &lt;%- end -%&gt;
+&quot;
+&lt;%- end -%&gt;
\ No newline at end of file</diff>
      <filename>ebuild.eruby</filename>
    </modified>
    <modified>
      <diff>@@ -6,17 +6,52 @@ require 'rubygems/dependency_installer'
 require 'ruby-debug'
 require 'erubis'
 
+package = ARGV.first || 'activerecord'
+
 inst = Gem::DependencyInstaller.new
-specs = inst.find_spec_by_name_and_version('activerecord')
+specs = inst.find_spec_by_name_and_version(package)
+
 
-input = File.read('ebuild.eruby')
-eruby = Erubis::Eruby.new(input)
 
-FileUtils.mkdir_p('ebuilds')
+class Ebuild
+  attr_accessor :spec, :source
+  
+  def initialize(spec_pair)
+    @spec, @source = spec_pair 
+  end
+  
+  def filename
+    &quot;#{spec.name.downcase}-#{spec.version.version}.ebuild&quot;
+  end
+  
+  def atom_of(dependency)
+    &quot;dev-ruby/#{dependency.name}&quot;
+  end
+  
+  def uri
+    &quot;#{source}/gems/#{spec.name}-#{spec.version.version}.gem&quot;
+  end
+  
+  def write
+    output = eruby.evaluate(self)
+    FileUtils.mkdir_p('ebuilds')
+    File.open(filename, 'w') {|f| f.write(output) }
+  end
+  
+  protected
+  
+  def eruby
+    unless @eruby
+      input = File.read('ebuild.eruby')
+      @eruby = Erubis::Eruby.new(input)
+    end
+    @eruby
+  end
+  
+end
 
 specs.each do |spec_pair|
-  spec, source = spec_pair
-  filename = &quot;#{spec.name.downcase}-#{spec.version.version}.ebuild&quot;
-  output = eruby.result binding
-  File.open(filename, 'w') {|f| f.write(output) }
+  ebuild = Ebuild.new(spec_pair)
+  
+  ebuild.write
 end
\ No newline at end of file</diff>
      <filename>g-gem.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4cc367c2997c74085c91e068290ae087213e7611</id>
    </parent>
  </parents>
  <author>
    <name>Josh Nichols</name>
    <email>josh@technicalpickles.com</email>
  </author>
  <url>http://github.com/technicalpickles/g-gem/commit/890be95beca7db6b30207cbf201ed014fd799ab0</url>
  <id>890be95beca7db6b30207cbf201ed014fd799ab0</id>
  <committed-date>2008-05-19T19:50:44-07:00</committed-date>
  <authored-date>2008-05-19T19:50:44-07:00</authored-date>
  <message>Use a context object instead. Slightly better dependencies.</message>
  <tree>cac449370ef78ca4c6c3abd4f6dd0c7502664912</tree>
  <committer>
    <name>Josh Nichols</name>
    <email>josh@technicalpickles.com</email>
  </committer>
</commit>
