From 59f555e086ba32e7b85d619746ac28c508ad53f9 Mon Sep 17 00:00:00 2001 From: Thibaud Guillaume-Gentil Date: Tue, 22 Feb 2011 15:15:09 +0100 Subject: [PATCH] Switched to gem which command to locate gem path rather than open-gem --- CHANGELOG.rdoc | 1 + guard.gemspec | 1 - lib/guard.rb | 2 +- spec/guard_spec.rb | 34 +++++++++++++++++----------------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.rdoc b/CHANGELOG.rdoc index fcdffb3..48844f7 100644 --- a/CHANGELOG.rdoc +++ b/CHANGELOG.rdoc @@ -2,6 +2,7 @@ Bugs fixes: - Return unique filenames from Linux listener (Marian Schubert) - Guard.get_guard_class return wrong class when loaded nested class. (koshigoe) + - Fixed open-gem/gem_open dependency problem by using `gem which` to locate guards gem path == 0.3.0 (Jan 19, 2011) diff --git a/guard.gemspec b/guard.gemspec index 8454f63..93ed23a 100644 --- a/guard.gemspec +++ b/guard.gemspec @@ -20,7 +20,6 @@ Gem::Specification.new do |s| s.add_development_dependency 'guard-rspec', '~> 0.1.9' s.add_dependency 'thor', '~> 0.14.6' - s.add_dependency 'open_gem', '~> 1.4.2' s.files = Dir.glob('{bin,images,lib}/**/*') + %w[LICENSE README.rdoc] s.executable = 'guard' diff --git a/lib/guard.rb b/lib/guard.rb index f4f826d..b73080b 100644 --- a/lib/guard.rb +++ b/lib/guard.rb @@ -88,7 +88,7 @@ module Guard end def locate_guard(name) - `gem open guard-#{name} --latest --command echo`.chomp + `gem which guard/#{name}`.chomp rescue UI.error "Could not find 'guard-#{name}' gem path." end diff --git a/spec/guard_spec.rb b/spec/guard_spec.rb index 499a740..3777ff1 100644 --- a/spec/guard_spec.rb +++ b/spec/guard_spec.rb @@ -1,34 +1,34 @@ require 'spec_helper' describe Guard do - + describe "Class Methods" do describe ".setup" do subject { ::Guard.setup } - + it "should retrieve itself for chaining" do subject.should be_kind_of(Module) end - + it "should init guards array" do ::Guard.guards.should be_kind_of(Array) end - + it "should init options" do opts = { :my_opts => true } ::Guard.setup(opts).options.should include(:my_opts) end - + it "should init listener" do ::Guard.listener.should be_kind_of(Guard::Listener) end end - + describe ".get_guard_class" do it "should return Guard::RSpec" do Guard.get_guard_class('rspec').should == Guard::RSpec end - + context 'loaded some nested classes' do it "should return Guard::RSpec" do require 'guard/rspec' @@ -37,7 +37,7 @@ describe Guard do end end end - + describe ".locate_guard" do it "should return guard-rspec gem path" do guard_path = Guard.locate_guard('rspec') @@ -45,42 +45,42 @@ describe Guard do guard_path.should == guard_path.chomp end end - + describe ".supervised_task" do subject { ::Guard.setup } before(:each) do @g = mock(Guard::Guard) subject.guards.push(@g) end - + describe "tasks that succeed" do before(:each) do @g.stub!(:regular) { true } @g.stub!(:regular_with_arg).with("given_path") { "i'm a success" } end - + it "should not fire the guard with a supervised method without argument" do lambda { subject.supervised_task(@g, :regular) }.should_not change(subject.guards, :size) end - + it "should not fire the guard with a supervised method with argument" do lambda { subject.supervised_task(@g, :regular_with_arg, "given_path") }.should_not change(subject.guards, :size) end - + it "should return the result of the supervised method" do ::Guard.supervised_task(@g, :regular).should be_true ::Guard.supervised_task(@g, :regular_with_arg, "given_path").should == "i'm a success" end end - + describe "tasks that raise an exception" do before(:each) { @g.stub!(:failing) { raise "I break your system" } } - + it "should fire the guard" do lambda { subject.supervised_task(@g, :failing) }.should change(subject.guards, :size).by(-1) subject.guards.should_not include(@g) end - + it "should return the exception object" do failing_result = ::Guard.supervised_task(@g, :failing) failing_result.should be_kind_of(Exception) @@ -89,5 +89,5 @@ describe Guard do end end end - + end