lib/taza/tasks.rb in scudco-taza-0.8.1 vs lib/taza/tasks.rb in scudco-taza-0.8.3
- old
+ new
@@ -1,49 +1,53 @@
-require 'rake'
-require 'rake/testtask'
require 'rubygems'
+require 'rake'
require 'taglob/rake/tasks'
require 'spec/rake/spectask'
def tags
ENV['TAGS']
end
-namespace :spec do
- def format_options(file_name)
- file_name = "artifacts/#{file_name}/index.html"
- dir_name = File.dirname(file_name)
- FileUtils.mkdir_p(dir_name) unless File.directory?(dir_name)
- ["--format","html:#{file_name}","--format","p"]
- end
+module Taza
+ module Rake
+ class Tasks
+ attr_accessor :spec_opts
- desc "Run all functional specs"
- Spec::Rake::SpecTask.new :functional do |t|
- t.spec_files = Dir.taglob('spec/functional/**/*_spec.rb',tags)
- t.spec_opts << format_options("functional/all")
- end
- desc "Run all integration specs"
- Spec::Rake::SpecTask.new :integration do |t|
- t.spec_files = Dir.taglob('spec/integration/**/*_spec.rb',tags)
- t.spec_opts << format_options("integration/all")
- end
+ def initialize
+ yield self if block_given?
+ define
+ end
- namespace :functional do
- Dir.glob('./spec/functional/*/').each do |dir|
- site_name = File.basename(dir)
- desc "Run all functional specs for #{site_name}"
- Spec::Rake::SpecTask.new site_name.to_sym do |t|
- t.spec_files = Dir.taglob("#{dir}**/*_spec.rb",tags)
- t.spec_opts << format_options("functional/#{site_name}/all")
+ def define_spec_task(name,glob_path)
+ Spec::Rake::SpecTask.new name do |t|
+ t.spec_files = Dir.taglob(glob_path,tags)
+ t.spec_opts << spec_opts
+ end
end
- namespace site_name.to_sym do
- Dir.glob("./spec/functional/#{site_name}/*_spec.rb").each do |page_spec_file|
- page_spec_name = File.basename(page_spec_file)
- page_name = page_spec_name.chomp('_spec.rb')
- Spec::Rake::SpecTask.new page_name.to_sym do |t|
- t.spec_files = page_spec_file
- t.spec_opts << format_options("functional/#{site_name}/#{page_name}")
+
+ def define
+ namespace :spec do
+ desc "Run all functional specs"
+ define_spec_task(:functional,'spec/functional/**/*_spec.rb')
+ desc "Run all integration specs"
+ define_spec_task(:integration,'spec/integration/**/*_spec.rb')
+
+ namespace :functional do
+ Dir.glob('./spec/functional/*/').each do |dir|
+ site_name = File.basename(dir)
+ desc "Run all functional specs for #{site_name}"
+ define_spec_task(site_name,"#{dir}**/*_spec.rb")
+
+ namespace site_name do
+ Dir.glob("./spec/functional/#{site_name}/*_spec.rb").each do |page_spec_file|
+ page_name = File.basename(page_spec_file,'_spec.rb')
+ define_spec_task(page_name,page_spec_file)
+ end
+ end
+
+ end
end
+
end
end
end
end
end