From 3f2230b9ece12b93f9bd6da0e1532b8771aad886 Mon Sep 17 00:00:00 2001
From: Aaron Patterson <aaron.patterson@gmail.com>
Date: Thu, 31 Oct 2013 14:59:56 -0700
Subject: gemfile entries can be added to the app builder

---
 railties/lib/rails/generators/app_base.rb | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

(limited to 'railties/lib')

diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb
index aee5712643..35c6ce1cf8 100644
--- a/railties/lib/rails/generators/app_base.rb
+++ b/railties/lib/rails/generators/app_base.rb
@@ -77,14 +77,26 @@ module Rails
       end
 
       def initialize(*args)
-        @original_wd = Dir.pwd
-        @gem_filter = lambda { |gem| true }
+        @original_wd   = Dir.pwd
+        @gem_filter    = lambda { |gem| true }
+        @extra_entries = []
         super
         convert_database_option_for_jruby
       end
 
     protected
 
+      def gemfile_entry(name, version = nil, github: nil, path: nil)
+        if github
+          @extra_entries << GemfileEntry.github(name, github)
+        elsif path
+          @extra_entries << GemfileEntry.path(name, path)
+        else
+          @extra_entries << GemfileEntry.version(name, version)
+        end
+        self
+      end
+
       def gemfile_entries
         [ rails_gemfile_entry,
           database_gemfile_entry,
@@ -92,7 +104,8 @@ module Rails
           javascript_gemfile_entry,
           jbuilder_gemfile_entry,
           webconsole_gemfile_entry,
-          sdoc_gemfile_entry].flatten.find_all(&@gem_filter)
+          sdoc_gemfile_entry,
+          @extra_entries].flatten.find_all(&@gem_filter)
       end
 
       def add_gem_entry_filter
-- 
cgit v1.2.3