require 'rake'
require 'spec/rake/spectask'

RDGC_TARGET = [:util, :map, :maker, :timer, :article, :device, :character, :monster]

namespace :rdgc do

  RDGC_TARGET.each do |target|
    Spec::Rake::SpecTask.new(target) do |spec|
      spec.libs << 'lib' << 'spec'
      spec.spec_files = FileList["spec/rdgc/#{target}/*_spec.rb"]
      spec.spec_opts = ["-c -fs"]
    end

    task target
  end

  Spec::Rake::SpecTask.new(:all) do |spec|
    spec.libs << 'lib' << 'spec'
    spec.spec_files = FileList['spec/rdgc/**/*_spec.rb']
    spec.spec_opts = ["-c"]
  end

  task :all
end

RDGC_TARGET.each do |target|
  task target=> "rdgc:#{target}"
end

Spec::Rake::SpecTask.new(:rcov) do |spec|
  spec.libs << 'lib' << 'spec'
  spec.spec_files = FileList['spec/rdgc/**/*_spec.rb']
  spec.rcov = true
end

task :all => "rdgc:all"
task :default => :all
