Sha256: fd397842abfbb2833a302a7fdca6d628abbcfaa94bbbce06fe14957c8d1bacef

Contents?: true

Size: 719 Bytes

Versions: 330

Compression:

Stored size: 719 Bytes

Contents

require 'rake/dsl_definition'

require_relative 'exercise'
require_relative 'exercise_tests_runner'

class ExerciseTestTasks
  include Rake::DSL

  def initialize(options:, test_runner: ExerciseTestsRunner)
    @options = options
    @test_runner = test_runner

    define
  end

  def define
    define_task_for_all_exercises

    exercises.each { |exercise| define_task_for(exercise) }
  end

  private

  def exercises
    @exercises ||= Exercise.all
  end

  def define_task_for_all_exercises
    desc 'Run the tests for all exercises'
    task exercises: exercises
  end

  def define_task_for(exercise)
    task exercise do
      @test_runner.new(exercise: exercise, test_options: @options).run
    end
  end
end

Version data entries

330 entries across 330 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.179 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.178 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.177 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.176 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.175 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.174 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.173 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.172 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.171 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.170 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.169 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.167 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.166 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.165 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.164 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.163 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.162 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.161 tracks/ruby/lib/tasks/exercise_test_tasks.rb
trackler-2.2.1.160 tracks/ruby/lib/tasks/exercise_test_tasks.rb