aboutsummaryrefslogtreecommitdiffstats
path: root/spec/support/guards.rb
diff options
context:
space:
mode:
authorCarl Lerche <carllerche@mac.com>2010-03-11 17:08:55 -0800
committerCarl Lerche <carllerche@mac.com>2010-03-11 17:10:40 -0800
commit8db90ba95d4a240fde68127e806162b3e600c383 (patch)
tree9b4ecaeb523e53c1f86cf3cb654e71de945c4e83 /spec/support/guards.rb
parente3461239adfa972de8f25a2bc6b48b4a8aa62c9c (diff)
downloadrails-8db90ba95d4a240fde68127e806162b3e600c383.tar.gz
rails-8db90ba95d4a240fde68127e806162b3e600c383.tar.bz2
rails-8db90ba95d4a240fde68127e806162b3e600c383.zip
Move all spec support files into spec/support
Diffstat (limited to 'spec/support/guards.rb')
-rw-r--r--spec/support/guards.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/support/guards.rb b/spec/support/guards.rb
new file mode 100644
index 0000000000..cfa4b7b79a
--- /dev/null
+++ b/spec/support/guards.rb
@@ -0,0 +1,28 @@
+module AdapterGuards
+ def adapter_is(*names)
+ names = names.map(&:to_s)
+ names.each{|name| verify_adapter_name(name)}
+ yield if names.include? adapter_name
+ end
+
+ def adapter_is_not(*names)
+ names = names.map(&:to_s)
+ names.each{|name| verify_adapter_name(name)}
+ yield unless names.include? adapter_name
+ end
+
+ def adapter_name
+ name = ActiveRecord::Base.configurations["unit"][:adapter]
+ name = 'oracle' if name == 'oracle_enhanced'
+ 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 oracle]
+ end
+end \ No newline at end of file