Sha256: 041cdda368122dc3750d8f75d7f354eef545b8a006994fe307e20ac681e55fe3
Contents?: true
Size: 1.89 KB
Versions: 3
Compression:
Stored size: 1.89 KB
Contents
require 'rake' module Assert; end module Assert::RakeTasks; end require 'assert/rake_tasks/irb' require 'assert/rake_tasks/scope' require 'assert/rake_tasks/test_task' module Assert::RakeTasks # Setup the rake tasks for testing # * add 'include Assert::RakeTasks' to your Rakefile def self.included(receiver) # auto-install rake tasks self.install end def self.install assert_test_root = ENV['ASSERT_TEST_ROOT'] || './test' if File.exists?(assert_test_root) self.irb_task(Assert::RakeTasks::Irb.new(assert_test_root)) self.to_tasks(Assert::RakeTasks::Scope.new(assert_test_root)) end end def self.for(test_root_name) warn "[DEPRECATED] `Assert::RakeTasts.for` has been deprecated. Use `Assert::RakeTasks.install` instead." end class << self include Rake::DSL if defined? Rake::DSL def irb_task(irb) if irb.helper_exists? desc irb.description task irb.class.task_name do sh irb.cmd end end end def to_tasks(scope) # if there is a test task for the scope if (scope_tt = scope.to_test_task) # create a rake task to run it desc scope_tt.description task scope_tt.name do RakeFileUtils.verbose(scope_tt.show_loaded_files?) { ruby scope_tt.ruby_args } end end # create a namespace for the scope namespace scope.namespace do # for each test task in the scope, create a rake task to run it scope.test_tasks.each do |test_file_tt| desc test_file_tt.description task test_file_tt.name do RakeFileUtils.verbose(test_file_tt.show_loaded_files?) { ruby test_file_tt.ruby_args } end end # recusively generate rake tasks for each sub-scope in the scope scope.scopes.each do |sub_scope| self.to_tasks(sub_scope) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
assert-1.0.0 | lib/assert/rake_tasks.rb |
assert-0.8.1 | lib/assert/rake_tasks.rb |
assert-0.8.0 | lib/assert/rake_tasks.rb |