aboutsummaryrefslogtreecommitdiffstats
path: root/Rakefile
blob: 00d43503a672124ac5bf2372d47a5c8f4952f3f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
require "rubygems"

begin
  require "spec/rake/spectask"
rescue LoadError
  desc "Run specs"
  task(:spec) { $stderr.puts '`gem install rspec` to run specs' }
else
  namespace :spec do
    %w[mysql sqlite3 postgresql oracle].each do |adapter|
      task "set_env_for_#{adapter}" do
        ENV['ADAPTER'] = adapter
      end

      Spec::Rake::SpecTask.new(adapter) do |t|
        t.spec_opts = ['--options', "\"#{File.dirname(__FILE__)}/spec/spec.opts\""]
        t.libs << "#{File.dirname(__FILE__)}/spec"
        t.warning = true
        t.spec_files = FileList['spec/**/*_spec.rb']
      end

      desc "Run specs with the #{adapter} database adapter"
      task adapter => "set_env_for_#{adapter}"
    end
  end

  desc "Run specs with mysql and sqlite3 database adapters (default)"
  task :spec => ["spec:sqlite3", "spec:mysql", "spec:postgresql"]

  desc "Default task is to run specs"
  task :default => :spec
end