paraduct 0.0.1.beta1 → 0.0.1.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: