Class: Taza::Rake::Tasks
- Inherits:
-
Object
- Object
- Taza::Rake::Tasks
- Defined in:
- lib/taza/tasks.rb
Instance Attribute Summary collapse
-
#spec_opts ⇒ Object
Returns the value of attribute spec_opts.
Instance Method Summary collapse
- #define ⇒ Object
- #define_spec_task(name, glob_path) ⇒ Object
-
#initialize {|_self| ... } ⇒ Tasks
constructor
A new instance of Tasks.
- #recurse_to_create_rake_tasks(dir) ⇒ Object
Constructor Details
#initialize {|_self| ... } ⇒ Tasks
Returns a new instance of Tasks.
11 12 13 14 |
# File 'lib/taza/tasks.rb', line 11 def initialize yield self if block_given? define end |
Instance Attribute Details
#spec_opts ⇒ Object
Returns the value of attribute spec_opts.
9 10 11 |
# File 'lib/taza/tasks.rb', line 9 def spec_opts @spec_opts end |
Instance Method Details
#define ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/taza/tasks.rb', line 23 def define namespace :spec do Dir.glob('./spec/*/').each do |dir| recurse_to_create_rake_tasks(dir) end end end |
#define_spec_task(name, glob_path) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/taza/tasks.rb', line 16 def define_spec_task(name,glob_path) RSpec::Core::RakeTask.new name do |t| t.pattern = Dir.glob(glob_path) t.rspec_opts = spec_opts end end |
#recurse_to_create_rake_tasks(dir) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/taza/tasks.rb', line 31 def recurse_to_create_rake_tasks(dir) basename = File.basename(dir) spec_pattern = File.join(dir,"**","*_spec.rb") if (not Dir.glob(spec_pattern).empty?) define_spec_task(basename,spec_pattern) namespace basename do Dir.glob(File.join(dir,"*_spec.rb")).each do |spec_file| spec_name = File.basename(spec_file,'_spec.rb') define_spec_task(spec_name,spec_file) end Dir.glob(File.join(dir,"*/")).each do |sub_dir| recurse_to_create_rake_tasks(sub_dir) end end end end |