From 2a236f89c259a224b04231fe5d00c73af8f2fab0 Mon Sep 17 00:00:00 2001 From: Louis Rose Date: Wed, 24 Feb 2010 17:01:59 +0100 Subject: [PATCH] Support for both rspec-1.x and rspec-2.x --- History.txt | 1 + lib/cucumber/rails/rspec.rb | 27 ++++++++++++++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/History.txt b/History.txt index 2d35e371..9f622059 100755 --- a/History.txt +++ b/History.txt @@ -1,6 +1,7 @@ == In Git === New Features +* Support for both rspec-1.x and rspec-2.x (Louis Rose, Aslak Hellesøy) * Generated features will default to @emulate_rails_javascript instead of @culerity (Aslak Hellesøy) * Support for Rails3 (WORK IN PROGRESS) (#10 Kristian Mandrup, Aleksey Gureiev, Ashley Moran, Aslak Hellesøy) * Japanese translation. (MOROHASHI Kyosuke) diff --git a/lib/cucumber/rails/rspec.rb b/lib/cucumber/rails/rspec.rb index 33bf373f..8857654b 100644 --- a/lib/cucumber/rails/rspec.rb +++ b/lib/cucumber/rails/rspec.rb @@ -1,10 +1,23 @@ require 'cucumber/rails/world' -require 'spec/expectations' -require 'spec/rails' -[Cucumber::Rails::World, ActionController::Integration::Session].each do |klass| - klass.class_eval do - include Spec::Matchers - include Spec::Rails::Matchers +begin + require 'rspec/expectations' + require 'rspec/rails' + + [Cucumber::Rails::World, ActionController::Integration::Session].each do |klass| + klass.class_eval do + include Rspec::Matchers + include Rspec::Rails::Matchers + end + end +rescue LoadError => try_rspec_1 + require 'spec/expectations' + require 'spec/rails' + + [Cucumber::Rails::World, ActionController::Integration::Session].each do |klass| + klass.class_eval do + include Spec::Matchers + include Spec::Rails::Matchers + end end -end +end \ No newline at end of file