Sha256: 4eab15252539cbd80c604115978ce62549e97a3ed1527a3d38264174a000f9f9

Contents?: true

Size: 842 Bytes

Versions: 1

Compression:

Stored size: 842 Bytes

Contents

require 'paraduct'
require 'thor'

module Paraduct
  class CLI < Thor
    include Thor::Actions

    desc "test", "run matrix test"
    def test
      script = Paraduct.config.script
      raise "require script" if script.blank?

      variables = Paraduct.config.variables
      raise "require variables" if variables.blank?

      product_variables = Paraduct::VariableConverter.product(variables)
      test_response = Paraduct::ParallelRunner.perform_all(script, product_variables)
      Paraduct.logger.info test_response.detail_message
      raise Paraduct::Errors::TestFailureError if test_response.failure?
    end

    desc "generate", "generate .paraduct.yml"
    def generate
      template(".paraduct.yml")
    end

    def self.source_root
      File.expand_path(File.join(File.dirname(__FILE__), "templates"))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paraduct-0.0.1.beta5 lib/paraduct/cli.rb