Top Level Namespace

Defined Under Namespace

Modules: Gemika

Instance Method Summary collapse

Instance Method Details

#matrixObject

Rake tasks to run commands for each compatible row in the test matrix.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/gemika/tasks/matrix.rb', line 8

namespace :matrix do

  desc "Run specs for all Ruby #{RUBY_VERSION} gemfiles"
  task :spec, :files do |t, options|
    Gemika::Matrix.from_travis_yml.each do |row|
      options = options.to_hash.merge(
        :gemfile => row.gemfile,
        :fatal => false,
        :bundle_exec => true
      )
      Gemika::RSpec.run_specs(options)
    end
  end

  desc "Install all Ruby #{RUBY_VERSION} gemfiles"
  task :install do
    Gemika::Matrix.from_travis_yml.each do |row|
      puts "Calling `bundle install` with #{ENV['BUNDLE_GEMFILE']}"
      system('bundle install')
    end
  end

  desc "List dependencies for all Ruby #{RUBY_VERSION} gemfiles"
  task :list do
    Gemika::Matrix.from_travis_yml.each do |row|
      system('bundle list')
    end
  end

  desc "Update all Ruby #{RUBY_VERSION} gemfiles"
  task :update, :gems do |t, options|
    Gemika::Matrix.from_travis_yml.each do |row|
      system("bundle update #{options[:gems]}")
    end
  end

end