From fe6031aa67c2582f541a933578451739242b06f1 Mon Sep 17 00:00:00 2001 From: Tim Linquist Date: Tue, 31 Jul 2012 09:46:38 -0700 Subject: [PATCH 1/3] Include rake in gemspec (available to bundle exec) --- sprockets-vendor_gems.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/sprockets-vendor_gems.gemspec b/sprockets-vendor_gems.gemspec index 26ab54e..655c21d 100644 --- a/sprockets-vendor_gems.gemspec +++ b/sprockets-vendor_gems.gemspec @@ -17,6 +17,7 @@ Gem::Specification.new do |gem| gem.add_dependency 'sprockets' + gem.add_development_dependency 'rake' gem.add_development_dependency 'rspec' gem.add_development_dependency 'mocha' gem.add_development_dependency 'fakefs' From 8bb51f0227c3a19aa56fc0007869ca5431824021 Mon Sep 17 00:00:00 2001 From: Tim Linquist Date: Tue, 31 Jul 2012 10:00:42 -0700 Subject: [PATCH 2/3] Use backwards compatible rubygems api Following Bundler's lead, use loaded_specs api to look for possible javascript / stylesheets to inform Sprockets of in jasmine-headless-webkit. --- lib/sprockets-vendor_gems.rb | 16 +++++++++++++++- spec/sprockets-vendor_gems_spec.rb | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/sprockets-vendor_gems.rb b/lib/sprockets-vendor_gems.rb index 9f986a9..9ef9faf 100644 --- a/lib/sprockets-vendor_gems.rb +++ b/lib/sprockets-vendor_gems.rb @@ -9,7 +9,7 @@ module ::Sprockets paths = [] - Gem::Specification.each do |gemspec| + GemEnvironment.each do |gemspec| options[:paths].product(for_types).each do |base_dir, type| path = File.join(gemspec.gem_dir, base_dir, "assets", type.to_s) @@ -27,5 +27,19 @@ module ::Sprockets Sprockets.find_gem_vendor_paths.each { |path| append_path(path) } end end + + class GemEnvironment + extend Enumerable + + def self.gemspecs + Gem.loaded_specs.map(&:last) + end + + def self.each(&block) + return enum_for(:each) unless block_given? + + gemspecs.each {|spec| yield spec } + end + end end diff --git a/spec/sprockets-vendor_gems_spec.rb b/spec/sprockets-vendor_gems_spec.rb index 3d39330..28a480a 100644 --- a/spec/sprockets-vendor_gems_spec.rb +++ b/spec/sprockets-vendor_gems_spec.rb @@ -17,7 +17,7 @@ describe Sprockets do before do paths.each { |path| FileUtils.mkdir_p path } - Gem::Specification.stubs(:each).yields(gemspec) + Sprockets::GemEnvironment.stubs(:each).yields(gemspec) end subject { described_class.find_gem_vendor_paths } From 6cebb223d0f9862b809c20b059edb737f78a26f9 Mon Sep 17 00:00:00 2001 From: Tim Linquist Date: Tue, 31 Jul 2012 10:13:02 -0700 Subject: [PATCH 3/3] Remove now extranneous strict requirement of 1.8+ --- sprockets-vendor_gems.gemspec | 2 -- 1 file changed, 2 deletions(-) diff --git a/sprockets-vendor_gems.gemspec b/sprockets-vendor_gems.gemspec index 655c21d..2d82bdf 100644 --- a/sprockets-vendor_gems.gemspec +++ b/sprockets-vendor_gems.gemspec @@ -13,8 +13,6 @@ Gem::Specification.new do |gem| gem.require_paths = ["lib"] gem.version = '0.1.1' - gem.required_rubygems_version = '>= 1.8.0' - gem.add_dependency 'sprockets' gem.add_development_dependency 'rake'