templates/chef/Rakefile in opskeleton-0.6.3 vs templates/chef/Rakefile in opskeleton-0.6.4

- old
+ new

@@ -5,16 +5,30 @@ t.pattern = 'spec/*/*_spec.rb' end task :default => :spec -task :modspec do - FileList["static-modules/**/Rakefile"].each do |project| - Rake::Task.clear - load project - dir = project.pathmap("%d") - Dir.chdir(dir) do - spec_task = Rake::Task[:spec] - spec_task.invoke() - end +desc "Run serverspec to all hosts" +task :spec => 'serverspec:all' + +class ServerspecTask < RSpec::Core::RakeTask + + attr_accessor :target + + def spec_command + cmd = super + "env TARGET_HOST=#{target} #{cmd}" + end + +end + +namespace :serverspec do + + %w(<%=@name=>).each do |profile| + ServerspecTask.new(profile.to_sym) do |t| + t.target = profile + t.pattern = "spec/#{profile}/*_spec.rb" end + end end + +task :default => 'serverspec:minimal'