paraduct 0.0.1.beta1 → 0.0.1.beta2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Paraduct
2
-
2
+ [![Gem Version](https://badge.fury.io/rb/paraduct.svg)](http://badge.fury.io/rb/paraduct)
3
3
  [![Build Status](https://travis-ci.org/sue445/paraduct.svg?branch=master)](https://travis-ci.org/sue445/paraduct)
4
4
  [![Code Climate](https://codeclimate.com/github/sue445/paraduct/badges/gpa.svg)](https://codeclimate.com/github/sue445/paraduct)
5
5
  [![Coverage Status](https://img.shields.io/coveralls/sue445/paraduct.svg)](https://coveralls.io/r/sue445/paraduct)
data/lib/paraduct.rb CHANGED
@@ -1,9 +1,11 @@
1
+ require "active_support"
2
+ require "active_support/deprecation"
3
+ require "active_support/core_ext"
1
4
  require "paraduct/version"
2
5
  require "paraduct/configuration"
3
6
  require "paraduct/variable_converter"
4
7
  require "paraduct/runner"
5
8
  require "paraduct/parallel_runner"
6
- require "active_support/core_ext"
7
9
 
8
10
  module Paraduct
9
11
  class << self
data/lib/paraduct/cli.rb CHANGED
@@ -1,8 +1,13 @@
1
1
  require 'paraduct'
2
+ require 'thor'
2
3
 
3
4
  module Paraduct
4
- module CLI
5
- def self.start
5
+ class CLI < Thor
6
+ include Thor::Actions
7
+
8
+ desc "test", "run matrix test"
9
+ default_task :test
10
+ def test
6
11
  script = Paraduct.config.script
7
12
  raise "require script" if script.blank?
8
13
 
@@ -12,5 +17,14 @@ module Paraduct
12
17
  product_variables = Paraduct::VariableConverter.product(variables)
13
18
  Paraduct::ParallelRunner.perform_all(script, product_variables)
14
19
  end
20
+
21
+ desc "generate", "generate .paraduct.yml"
22
+ def generate
23
+ template(".paraduct.yml")
24
+ end
25
+
26
+ def self.source_root
27
+ File.expand_path(File.join(File.dirname(__FILE__), "templates"))
28
+ end
15
29
  end
16
30
  end
@@ -6,6 +6,7 @@ module Paraduct
6
6
  include Singleton
7
7
 
8
8
  def initialize
9
+ raise "not found .paraduct.yml" unless config_file.exist?
9
10
  @config = YAML.load_file(config_file)
10
11
  end
11
12
 
@@ -0,0 +1,10 @@
1
+ script: |-
2
+ echo "NAME1=${NAME1}, NAME2=${NAME2}"
3
+ work_dir: tmp/paraduct_workspace
4
+ variables:
5
+ name1:
6
+ - value1a
7
+ - value1b
8
+ name2:
9
+ - value2a
10
+ - value2b
@@ -1,3 +1,3 @@
1
1
  module Paraduct
2
- VERSION = "0.0.1.beta1"
2
+ VERSION = "0.0.1.beta2"
3
3
  end
data/paraduct.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "activesupport"
22
+ spec.add_dependency "thor"
22
23
 
23
24
  spec.add_development_dependency "bundler", ">= 1.5"
24
25
  spec.add_development_dependency "codeclimate-test-reporter"
@@ -1,6 +1,10 @@
1
1
  describe Paraduct::CLI do
2
- describe "#start" do
3
- subject{ Paraduct::CLI.start }
2
+ subject { Paraduct::CLI.start(args) }
3
+
4
+ let(:args){ [command] }
5
+
6
+ describe "#test" do
7
+ let(:command){ "test" }
4
8
 
5
9
  include_context :within_temp_work_dir
6
10
 
@@ -33,4 +37,25 @@ describe Paraduct::CLI do
33
37
  subject
34
38
  end
35
39
  end
40
+
41
+ describe "#generate" do
42
+ let(:command){ "generate" }
43
+
44
+ include_context "uses temp dir"
45
+
46
+ around do |example|
47
+ Dir.chdir(temp_dir) do
48
+ example.run
49
+ end
50
+ end
51
+
52
+ before do
53
+ # exercise
54
+ subject
55
+ end
56
+
57
+ let(:generated_config_file){ temp_dir_path.join(".paraduct.yml") }
58
+
59
+ it { expect(generated_config_file).to be_exist }
60
+ end
36
61
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paraduct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.beta1
4
+ version: 0.0.1.beta2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-10-17 00:00:00.000000000 Z
12
+ date: 2014-10-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: thor
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: bundler
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -210,6 +226,7 @@ files:
210
226
  - lib/paraduct/configuration.rb
211
227
  - lib/paraduct/parallel_runner.rb
212
228
  - lib/paraduct/runner.rb
229
+ - lib/paraduct/templates/.paraduct.yml.tt
213
230
  - lib/paraduct/variable_converter.rb
214
231
  - lib/paraduct/version.rb
215
232
  - paraduct.gemspec
@@ -226,6 +243,7 @@ files:
226
243
  - spec/spec_helper.rb
227
244
  - spec/support/contexts/within_spec_dir.rb
228
245
  - spec/support/contexts/within_temp_work_dir.rb
246
+ - tmp/.gitkeep
229
247
  homepage: https://github.com/sue445/paraduct
230
248
  licenses:
231
249
  - MIT
@@ -241,7 +259,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
241
259
  version: '0'
242
260
  segments:
243
261
  - 0
244
- hash: 4070294482478458137
262
+ hash: -3471539760261091150
245
263
  required_rubygems_version: !ruby/object:Gem::Requirement
246
264
  none: false
247
265
  requirements: