aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/CHANGELOG2
-rw-r--r--railties/lib/rails/gem_builder.rb20
2 files changed, 21 insertions, 1 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index dfa80e1e82..0a3c34dbd7 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,6 +1,6 @@
*SVN*
-* Flesh out rake gems:unpack to unpack all gems, and add rake gems:build for native extensions. [ddollar]
+* Flesh out rake gems:unpack to unpack all gems, and add rake gems:build for native extensions. #11513 [ddollar]
rake gems:unpack # unpacks all gems
rake gems:unpack GEM=mygem # unpacks only the gem 'mygem'
diff --git a/railties/lib/rails/gem_builder.rb b/railties/lib/rails/gem_builder.rb
new file mode 100644
index 0000000000..629726a5c6
--- /dev/null
+++ b/railties/lib/rails/gem_builder.rb
@@ -0,0 +1,20 @@
+require 'rubygems/installer'
+
+module Rails
+
+ # this class hijacks the functionality of Gem::Installer by overloading its
+ # initializer to only provide the information needed by
+ # Gem::Installer#build_extensions (which happens to be what we have)
+ class GemBuilder < Gem::Installer
+
+ def initialize(spec, gem_dir)
+ @spec = spec
+ @gem_dir = gem_dir
+ end
+
+ # silence the underlying builder
+ def say(message)
+ end
+
+ end
+end \ No newline at end of file