aboutsummaryrefslogtreecommitdiffstats
path: root/spec/spec_helper.rb
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2009-05-26 12:41:52 -0300
committerEmilio Tagua <miloops@gmail.com>2009-05-26 12:41:52 -0300
commitc9bbea6115be520dbd47bd30108c5622289deb26 (patch)
treeec418e01954c1bd2dcfebc7fbc8220fb04b50baf /spec/spec_helper.rb
parentae1e0ac5e98a7e5a2894d0a431f8c34af6575cae (diff)
parent86364591af807ed3fa4a7304f53e6f3458cb4961 (diff)
downloadrails-c9bbea6115be520dbd47bd30108c5622289deb26.tar.gz
rails-c9bbea6115be520dbd47bd30108c5622289deb26.tar.bz2
rails-c9bbea6115be520dbd47bd30108c5622289deb26.zip
Merge commit 'brynary/master'
Conflicts: lib/arel.rb lib/arel/session.rb
Diffstat (limited to 'spec/spec_helper.rb')
-rw-r--r--spec/spec_helper.rb31
1 files changed, 29 insertions, 2 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index ce539b6ffa..beb634fbd3 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -11,10 +11,37 @@ require 'arel'
Dir["#{dir}/#{helper}/*"].each { |m| require "#{dir}/#{helper}/#{File.basename(m)}" }
end
+module AdapterGuards
+ def adapter_is(name)
+ verify_adapter_name(name)
+ yield if name.to_s == adapter_name
+ end
+
+ def adapter_is_not(name)
+ verify_adapter_name(name)
+ yield if name.to_s != adapter_name
+ end
+
+ def adapter_name
+ name = ActiveRecord::Base.configurations["unit"][:adapter]
+ verify_adapter_name(name)
+ name
+ end
+
+ def verify_adapter_name(name)
+ raise "Invalid adapter name: #{name}" unless valid_adapters.include?(name.to_s)
+ end
+
+ def valid_adapters
+ %w[mysql postgresql sqlite3]
+ end
+end
+
Spec::Runner.configure do |config|
- config.include(BeLikeMatcher, HashTheSameAsMatcher, DisambiguateAttributesMatcher)
+ config.include BeLikeMatcher, HashTheSameAsMatcher, DisambiguateAttributesMatcher
+ config.include AdapterGuards
config.mock_with :rr
config.before do
- Arel::Table.engine = Arel::Engine.new(Fake::Engine.new)
+ Arel::Table.engine = Arel::Sql::Engine.new(ActiveRecord::Base)
end
end