Class: Generative::RakeTask

Inherits:
RSpec::Core::RakeTask
  • Object
show all
Defined in:
lib/generative/rake_task.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args, &task_block) ⇒ RakeTask

Returns a new instance of RakeTask.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/generative/rake_task.rb', line 6

def initialize(*args, &task_block)
  super

  self.name = :generative if name == :spec

  desc "Run Generative specs" unless Rake.application.last_description

  options = %w[
    --require generative
    --format Generative::Formatter
    --tag generative
  ]

  self.rspec_opts = options.join(' ')

  task name, *args do |_, task_args|
    RakeFileUtils.send(:verbose, verbose) do
      ENV['GENERATIVE_COUNT'] ||= Generative::DEFAULT_COUNT
      task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block
      run_task verbose
    end
  end
end