Sha256: 79fa8e28ccf807438a64ca5fbe20e1e05d233d80154e5ae6f4a652693148bc0a

Contents?: true

Size: 740 Bytes

Versions: 8

Compression:

Stored size: 740 Bytes

Contents

# -*- encoding: utf-8 -*-

require 'rake/tasklib'

require 'jamie'

module Jamie

  # Jamie Rake task generator.
  class RakeTasks < ::Rake::TaskLib

    # Creates Jamie Rake tasks and allows the callee to configure it.
    #
    # @yield [self] gives itself to the block
    def initialize
      @config = Jamie::Config.new
      yield self if block_given?
      define
    end

    private

    attr_reader :config

    def define
      namespace "jamie" do
        config.instances.each do |instance|
          desc "Run #{instance.name} test instance"
          task instance.name { instance.test }
        end

        desc "Run all test instances"
        task "all" => config.instances.map { |i| i.name }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jamie-0.1.0.alpha17 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha16 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha15 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha14 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha13 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha12 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha11 lib/jamie/rake_tasks.rb
jamie-0.1.0.alpha10 lib/jamie/rake_tasks.rb