dslable 0.0.2 → 0.0.3
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 +7 -7
- data/lib/dslable/version.rb +3 -3
- data/lib/dslable_args.rb +44 -44
- data/lib/dslable_core.rb +81 -81
- data/lib/dslable_dsl.rb +50 -50
- data/lib/dslable_field.rb +36 -36
- data/lib/generators/gem_template.rb +24 -24
- data/lib/generators/product_codes/cli.rb +11 -11
- data/lib/generators/product_codes/core.rb +16 -12
- data/lib/generators/product_codes/dsl.rb +14 -14
- data/lib/generators/product_codes/dsl_model.rb +10 -10
- data/lib/generators/rspec/spec_template.rb +21 -21
- data/lib/generators/rspec/specs.rb +27 -27
- data/lib/generators/settings/gemfile.rb +8 -8
- data/lib/generators/workflow.rb +76 -76
- data/spec/dslable_args_spec.rb +35 -29
- data/spec/dslable_core_spec.rb +25 -25
- data/spec/dslable_dsl_spec.rb +32 -32
- data/spec/dslable_field_spec.rb +15 -15
- data/spec/generators/gem_template_spec.rb +7 -7
- data/spec/generators/product_codes/cli_spec.rb +13 -13
- data/spec/generators/product_codes/core_spec.rb +24 -17
- data/spec/generators/product_codes/dsl_model_spec.rb +12 -12
- data/spec/generators/product_codes/dsl_spec.rb +15 -14
- data/spec/generators/rspec/spec_template_spec.rb +8 -8
- data/spec/generators/rspec/specs_spec.rb +8 -8
- data/spec/generators/settings/gemfile_spec.rb +11 -11
- data/spec/generators/workflow_spec.rb +11 -11
- data/spec/spec_helper.rb +2 -2
- metadata +16 -16
@@ -1,17 +1,17 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/gem_template'
|
4
|
+
require 'dslable_dsl'
|
5
5
|
|
6
6
|
describe Dslable::Generators::GemTemplate do
|
7
7
|
context :generate do
|
8
|
-
OUTPUT_TMP_DIR =
|
8
|
+
OUTPUT_TMP_DIR = 'generate_gem_template'
|
9
9
|
|
10
10
|
cases = [
|
11
11
|
{
|
12
12
|
case_no: 1,
|
13
|
-
case_title:
|
14
|
-
gem_name:
|
13
|
+
case_title: 'valid gem template',
|
14
|
+
gem_name: 'sample_gem'
|
15
15
|
},
|
16
16
|
]
|
17
17
|
|
@@ -43,7 +43,7 @@ describe Dslable::Generators::GemTemplate do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def case_after(c)
|
46
|
-
Dir.chdir(
|
46
|
+
Dir.chdir('../../')
|
47
47
|
FileUtils.rm_rf(OUTPUT_TMP_DIR) if Dir.exists? OUTPUT_TMP_DIR
|
48
48
|
end
|
49
49
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/product_codes/cli'
|
4
4
|
|
5
5
|
describe Dslable::Generators::ProductCodes::CLI do
|
6
6
|
|
7
7
|
context :generate do
|
8
|
-
OUTPUT_CLI_TMP_DIR =
|
9
|
-
OUTPUT_CLI_CASE1
|
8
|
+
OUTPUT_CLI_TMP_DIR = 'generate_cli'
|
9
|
+
OUTPUT_CLI_CASE1 = <<-EOF
|
10
10
|
#!/usr/bin/env ruby
|
11
11
|
# encoding: utf-8
|
12
12
|
|
@@ -42,16 +42,16 @@ SampleGem::CLI.start(ARGV)
|
|
42
42
|
cases = [
|
43
43
|
{
|
44
44
|
case_no: 1,
|
45
|
-
case_title:
|
46
|
-
gem_name:
|
47
|
-
bin_name:
|
45
|
+
case_title: 'generate',
|
46
|
+
gem_name: 'sample_gem',
|
47
|
+
bin_name: 'samplegem',
|
48
48
|
fields: [:field1, :field2, :field3, :field4, :field5, :field6],
|
49
|
-
fields_descs: [
|
49
|
+
fields_descs: ['field_desc1', 'field_desc2', 'field_desc3', 'field_desc4', 'field_desc5', 'field_desc6'],
|
50
50
|
args: [:args1, :args2, :args3, :args4, :args5, :args6],
|
51
51
|
args_klass: [String, Array, Hash, String, Array, Hash],
|
52
52
|
args_required: [true, true, true, false, false, false],
|
53
|
-
args_default: [
|
54
|
-
expected_file:
|
53
|
+
args_default: ['default1', ['default1', 'default2'], { default_key: 'default_value' }, nil, nil, nil],
|
54
|
+
expected_file: './bin/samplegem',
|
55
55
|
expected_contents: OUTPUT_CLI_CASE1
|
56
56
|
},
|
57
57
|
]
|
@@ -69,7 +69,7 @@ SampleGem::CLI.start(ARGV)
|
|
69
69
|
gen_cli.generate
|
70
70
|
|
71
71
|
# -- then --
|
72
|
-
actual = File.open(c[:expected_file]) {|f|f.read}
|
72
|
+
actual = File.open(c[:expected_file]) { |f|f.read }
|
73
73
|
expect(actual).to eq(c[:expected_contents])
|
74
74
|
ensure
|
75
75
|
case_after c
|
@@ -81,7 +81,7 @@ SampleGem::CLI.start(ARGV)
|
|
81
81
|
# implement each case before
|
82
82
|
Dir.mkdir(OUTPUT_CLI_TMP_DIR) unless Dir.exists? OUTPUT_CLI_TMP_DIR
|
83
83
|
Dir.chdir(OUTPUT_CLI_TMP_DIR)
|
84
|
-
Dir.mkdir
|
84
|
+
Dir.mkdir 'bin'
|
85
85
|
end
|
86
86
|
|
87
87
|
def setup_dsl(c, dsl)
|
@@ -102,7 +102,7 @@ SampleGem::CLI.start(ARGV)
|
|
102
102
|
|
103
103
|
def case_after(c)
|
104
104
|
# implement each case after
|
105
|
-
Dir.chdir(
|
105
|
+
Dir.chdir('../')
|
106
106
|
FileUtils.rm_rf(OUTPUT_CLI_TMP_DIR) if Dir.exists? OUTPUT_CLI_TMP_DIR
|
107
107
|
end
|
108
108
|
end
|
@@ -1,12 +1,13 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/product_codes/core'
|
4
|
+
require 'dslable_dsl'
|
5
|
+
require 'dslable_field'
|
5
6
|
|
6
7
|
describe Dslable::Generators::ProductCodes::Core do
|
7
8
|
context :generate do
|
8
|
-
OUTPUT_CORE_TMP_DIR =
|
9
|
-
OUTPUT_CORE_CASE1
|
9
|
+
OUTPUT_CORE_TMP_DIR = 'generate_core'
|
10
|
+
OUTPUT_CORE_CASE1 = <<-EOF
|
10
11
|
# encoding: utf-8
|
11
12
|
require 'sample_gem_dsl'
|
12
13
|
|
@@ -47,6 +48,12 @@ field5 ["your value"]
|
|
47
48
|
# args6 allow only Hash
|
48
49
|
field6 {"your key"=>"your value"}
|
49
50
|
|
51
|
+
# field_desc7
|
52
|
+
# args7 is required
|
53
|
+
# args7 allow only Boolean
|
54
|
+
# args7's default value => false
|
55
|
+
field7 false
|
56
|
+
|
50
57
|
EOS
|
51
58
|
|
52
59
|
#== generate Samplegemfile to current directory.
|
@@ -74,15 +81,15 @@ end
|
|
74
81
|
cases = [
|
75
82
|
{
|
76
83
|
case_no: 1,
|
77
|
-
case_title:
|
78
|
-
gem_name:
|
79
|
-
fields: [:field1, :field2, :field3, :field4, :field5, :field6],
|
80
|
-
fields_descs: [
|
81
|
-
args: [:args1, :args2, :args3, :args4, :args5, :args6],
|
82
|
-
args_klass: [String, Array, Hash, String, Array, Hash],
|
83
|
-
args_required: [true, true, true, false, false, false],
|
84
|
-
args_default: [
|
85
|
-
expected_file:
|
84
|
+
case_title: 'valid generate core class',
|
85
|
+
gem_name: 'sample_gem',
|
86
|
+
fields: [:field1, :field2, :field3, :field4, :field5, :field6, :field7],
|
87
|
+
fields_descs: ['field_desc1', 'field_desc2', 'field_desc3', 'field_desc4', 'field_desc5', 'field_desc6', 'field_desc7'],
|
88
|
+
args: [:args1, :args2, :args3, :args4, :args5, :args6, :args7],
|
89
|
+
args_klass: [String, Array, Hash, String, Array, Hash, :Boolean],
|
90
|
+
args_required: [true, true, true, false, false, false, true],
|
91
|
+
args_default: ['default1', ['default1', 'default2'], { default_key: 'default_value' }, nil, nil, nil, false],
|
92
|
+
expected_file: './lib/sample_gem_core.rb',
|
86
93
|
expected_contents: OUTPUT_CORE_CASE1
|
87
94
|
},
|
88
95
|
|
@@ -101,7 +108,7 @@ end
|
|
101
108
|
core.generate
|
102
109
|
|
103
110
|
# -- then --
|
104
|
-
actual = File.open(c[:expected_file]) {|f|f.read}
|
111
|
+
actual = File.open(c[:expected_file]) { |f|f.read }
|
105
112
|
expect(actual).to eq(c[:expected_contents])
|
106
113
|
ensure
|
107
114
|
case_after c
|
@@ -111,7 +118,7 @@ end
|
|
111
118
|
def case_before(c)
|
112
119
|
Dir.mkdir(OUTPUT_CORE_TMP_DIR) unless Dir.exists? OUTPUT_CORE_TMP_DIR
|
113
120
|
Dir.chdir(OUTPUT_CORE_TMP_DIR)
|
114
|
-
Dir.mkdir
|
121
|
+
Dir.mkdir 'lib'
|
115
122
|
end
|
116
123
|
|
117
124
|
def setup_dsl(c, dsl)
|
@@ -130,7 +137,7 @@ end
|
|
130
137
|
end
|
131
138
|
|
132
139
|
def case_after(c)
|
133
|
-
Dir.chdir(
|
140
|
+
Dir.chdir('../')
|
134
141
|
FileUtils.rm_rf(OUTPUT_CORE_TMP_DIR) if Dir.exists? OUTPUT_CORE_TMP_DIR
|
135
142
|
end
|
136
143
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/product_codes/dsl_model'
|
4
4
|
|
5
5
|
describe Dslable::Generators::ProductCodes::DslModel do
|
6
6
|
|
7
7
|
context :generate do
|
8
|
-
OUTPUT_DSL_MODEL_TMP_DIR =
|
9
|
-
OUTPUT_DSL_MODEL_CASE1
|
8
|
+
OUTPUT_DSL_MODEL_TMP_DIR = 'generate_dsl_model'
|
9
|
+
OUTPUT_DSL_MODEL_CASE1 = <<-EOF
|
10
10
|
# encoding: utf-8
|
11
11
|
require 'active_model'
|
12
12
|
|
@@ -42,15 +42,15 @@ end
|
|
42
42
|
cases = [
|
43
43
|
{
|
44
44
|
case_no: 1,
|
45
|
-
case_title:
|
46
|
-
gem_name:
|
45
|
+
case_title: 'generate',
|
46
|
+
gem_name: 'sample_gem',
|
47
47
|
fields: [:field1, :field2, :field3, :field4, :field5, :field6],
|
48
|
-
fields_descs: [
|
48
|
+
fields_descs: ['field_desc1', 'field_desc2', 'field_desc3', 'field_desc4', 'field_desc5', 'field_desc6'],
|
49
49
|
args: [:args1, :args2, :args3, :args4, :args5, :args6],
|
50
50
|
args_klass: [String, Array, Hash, String, Array, Hash],
|
51
51
|
args_required: [true, true, true, false, false, false],
|
52
|
-
args_default: [
|
53
|
-
expected_file:
|
52
|
+
args_default: ['default1', ['default1', 'default2'], { default_key: 'default_value' }, nil, nil, nil],
|
53
|
+
expected_file: './lib/sample_gem_dsl_model.rb',
|
54
54
|
expected_contents: OUTPUT_DSL_MODEL_CASE1
|
55
55
|
},
|
56
56
|
]
|
@@ -68,7 +68,7 @@ end
|
|
68
68
|
gen_dsl_model.generate
|
69
69
|
|
70
70
|
# -- then --
|
71
|
-
actual = File.open(c[:expected_file]) {|f|f.read}
|
71
|
+
actual = File.open(c[:expected_file]) { |f|f.read }
|
72
72
|
expect(actual).to eq(c[:expected_contents])
|
73
73
|
ensure
|
74
74
|
case_after c
|
@@ -80,7 +80,7 @@ end
|
|
80
80
|
# implement each case before
|
81
81
|
Dir.mkdir(OUTPUT_DSL_MODEL_TMP_DIR) unless Dir.exists? OUTPUT_DSL_MODEL_TMP_DIR
|
82
82
|
Dir.chdir(OUTPUT_DSL_MODEL_TMP_DIR)
|
83
|
-
Dir.mkdir
|
83
|
+
Dir.mkdir 'lib'
|
84
84
|
end
|
85
85
|
|
86
86
|
def setup_dsl(c, dsl)
|
@@ -100,7 +100,7 @@ end
|
|
100
100
|
|
101
101
|
def case_after(c)
|
102
102
|
# implement each case after
|
103
|
-
Dir.chdir(
|
103
|
+
Dir.chdir('../')
|
104
104
|
FileUtils.rm_rf(OUTPUT_DSL_MODEL_TMP_DIR) if Dir.exists? OUTPUT_DSL_MODEL_TMP_DIR
|
105
105
|
end
|
106
106
|
end
|
@@ -1,13 +1,14 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/product_codes/dsl'
|
4
|
+
require 'dslable_dsl'
|
5
|
+
require 'dslable_field'
|
5
6
|
|
6
7
|
describe Dslable::Generators::ProductCodes::Dsl do
|
7
8
|
|
8
9
|
context :generate do
|
9
|
-
OUTPUT_DSL_TMP_DIR =
|
10
|
-
OUTPUT_DSL_CASE1
|
10
|
+
OUTPUT_DSL_TMP_DIR = 'generate_dsl'
|
11
|
+
OUTPUT_DSL_CASE1 = <<-EOF
|
11
12
|
# encoding: utf-8
|
12
13
|
require 'sample_gem_dsl_model'
|
13
14
|
|
@@ -22,7 +23,7 @@ module SampleGem
|
|
22
23
|
end
|
23
24
|
end
|
24
25
|
|
25
|
-
# Array/Hash Define
|
26
|
+
# Array/Hash/Boolean Define
|
26
27
|
[:field2, :field3, :field5, :field6].each do |f|
|
27
28
|
define_method f do |value|
|
28
29
|
eval "@sample_gem.#\{f.to_s} = #\{value}", binding
|
@@ -42,15 +43,15 @@ end
|
|
42
43
|
cases = [
|
43
44
|
{
|
44
45
|
case_no: 1,
|
45
|
-
case_title:
|
46
|
-
gem_name:
|
46
|
+
case_title: 'generate',
|
47
|
+
gem_name: 'sample_gem',
|
47
48
|
fields: [:field1, :field2, :field3, :field4, :field5, :field6],
|
48
|
-
fields_descs: [
|
49
|
+
fields_descs: ['field_desc1', 'field_desc2', 'field_desc3', 'field_desc4', 'field_desc5', 'field_desc6'],
|
49
50
|
args: [:args1, :args2, :args3, :args4, :args5, :args6],
|
50
51
|
args_klass: [String, Array, Hash, String, Array, Hash],
|
51
52
|
args_required: [true, true, true, false, false, false],
|
52
|
-
args_default: [
|
53
|
-
expected_file:
|
53
|
+
args_default: ['default1', ['default1', 'default2'], { default_key: 'default_value' }, nil, nil, nil],
|
54
|
+
expected_file: './lib/sample_gem_dsl.rb',
|
54
55
|
expected_contents: OUTPUT_DSL_CASE1
|
55
56
|
|
56
57
|
},
|
@@ -69,7 +70,7 @@ end
|
|
69
70
|
gen_dsl.generate
|
70
71
|
|
71
72
|
# -- then --
|
72
|
-
actual = File.open(c[:expected_file]) {|f|f.read}
|
73
|
+
actual = File.open(c[:expected_file]) { |f|f.read }
|
73
74
|
expect(actual).to eq(c[:expected_contents])
|
74
75
|
ensure
|
75
76
|
case_after c
|
@@ -81,7 +82,7 @@ end
|
|
81
82
|
# implement each case before
|
82
83
|
Dir.mkdir(OUTPUT_DSL_TMP_DIR) unless Dir.exists? OUTPUT_DSL_TMP_DIR
|
83
84
|
Dir.chdir(OUTPUT_DSL_TMP_DIR)
|
84
|
-
Dir.mkdir
|
85
|
+
Dir.mkdir 'lib'
|
85
86
|
end
|
86
87
|
|
87
88
|
def setup_dsl(c, dsl)
|
@@ -101,7 +102,7 @@ end
|
|
101
102
|
|
102
103
|
def case_after(c)
|
103
104
|
# implement each case after
|
104
|
-
Dir.chdir(
|
105
|
+
Dir.chdir('../')
|
105
106
|
FileUtils.rm_rf(OUTPUT_DSL_TMP_DIR) if Dir.exists? OUTPUT_DSL_TMP_DIR
|
106
107
|
end
|
107
108
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/rspec/spec_template'
|
4
|
+
require 'dslable_dsl'
|
5
5
|
|
6
6
|
describe Dslable::Generators::RSpec::SpecTemplate do
|
7
7
|
|
8
8
|
context :generate do
|
9
|
-
OUTPUT_SPEC_TMP_DIR =
|
9
|
+
OUTPUT_SPEC_TMP_DIR = 'generate_spec_template'
|
10
10
|
|
11
11
|
cases = [
|
12
12
|
{
|
13
13
|
case_no: 1,
|
14
|
-
case_title:
|
15
|
-
gem_name:
|
16
|
-
spec_dir_name:
|
14
|
+
case_title: 'valid spec template',
|
15
|
+
gem_name: 'sample_gem',
|
16
|
+
spec_dir_name: 'spec'
|
17
17
|
},
|
18
18
|
]
|
19
19
|
|
@@ -45,7 +45,7 @@ describe Dslable::Generators::RSpec::SpecTemplate do
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def case_after(c)
|
48
|
-
Dir.chdir(
|
48
|
+
Dir.chdir('../')
|
49
49
|
FileUtils.rm_rf(OUTPUT_SPEC_TMP_DIR) if Dir.exists? OUTPUT_SPEC_TMP_DIR
|
50
50
|
end
|
51
51
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/rspec/specs'
|
4
|
+
require 'dslable_dsl'
|
5
5
|
|
6
6
|
describe Dslable::Generators::RSpec::Specs do
|
7
7
|
|
8
8
|
context :generate do
|
9
|
-
OUTPUT_SPECS_TMP_DIR =
|
9
|
+
OUTPUT_SPECS_TMP_DIR = 'generate_specs_template'
|
10
10
|
|
11
11
|
cases = [
|
12
12
|
{
|
13
13
|
case_no: 1,
|
14
|
-
case_title:
|
15
|
-
gem_name:
|
16
|
-
specs: [
|
14
|
+
case_title: 'valid specs template',
|
15
|
+
gem_name: 'sample_gem',
|
16
|
+
specs: ['spec/sample_gem_core_spec.rb']
|
17
17
|
},
|
18
18
|
]
|
19
19
|
|
@@ -47,7 +47,7 @@ describe Dslable::Generators::RSpec::Specs do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def case_after(c)
|
50
|
-
Dir.chdir(
|
50
|
+
Dir.chdir('../')
|
51
51
|
FileUtils.rm_rf(OUTPUT_SPECS_TMP_DIR) if Dir.exists? OUTPUT_SPECS_TMP_DIR
|
52
52
|
end
|
53
53
|
end
|
@@ -1,25 +1,25 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'generators/settings/gemfile'
|
4
4
|
|
5
5
|
describe Dslable::Generators::Settings::Gemfile do
|
6
6
|
|
7
7
|
context :generate do
|
8
|
-
OUTPUT_GEMFILE_TMP_DIR =
|
8
|
+
OUTPUT_GEMFILE_TMP_DIR = 'generate_gemfile'
|
9
9
|
|
10
10
|
cases = [
|
11
11
|
{
|
12
12
|
case_no: 1,
|
13
|
-
case_title:
|
14
|
-
gem_name:
|
15
|
-
bin_name:
|
13
|
+
case_title: 'generate',
|
14
|
+
gem_name: 'sample_gem',
|
15
|
+
bin_name: 'samplegem',
|
16
16
|
fields: [:field1],
|
17
|
-
fields_descs: [
|
17
|
+
fields_descs: ['field_desc1'],
|
18
18
|
args: [:args1],
|
19
19
|
args_klass: [String],
|
20
20
|
args_required: [true],
|
21
|
-
args_default: [
|
22
|
-
expected_file:
|
21
|
+
args_default: ['default1'],
|
22
|
+
expected_file: './Gemfile',
|
23
23
|
expected_contents: Dslable::Generators::Settings::Gemfile::GEMFILE_TEMPLATE
|
24
24
|
},
|
25
25
|
]
|
@@ -37,7 +37,7 @@ describe Dslable::Generators::Settings::Gemfile do
|
|
37
37
|
gen_gemfile.generate
|
38
38
|
|
39
39
|
# -- then --
|
40
|
-
actual = File.open(c[:expected_file]) {|f|f.read}
|
40
|
+
actual = File.open(c[:expected_file]) { |f|f.read }
|
41
41
|
expect(actual).to eq(c[:expected_contents])
|
42
42
|
ensure
|
43
43
|
case_after c
|
@@ -69,7 +69,7 @@ describe Dslable::Generators::Settings::Gemfile do
|
|
69
69
|
|
70
70
|
def case_after(c)
|
71
71
|
# implement each case after
|
72
|
-
Dir.chdir(
|
72
|
+
Dir.chdir('../')
|
73
73
|
FileUtils.rm_rf(OUTPUT_GEMFILE_TMP_DIR) if Dir.exists? OUTPUT_GEMFILE_TMP_DIR
|
74
74
|
end
|
75
75
|
end
|
@@ -5,8 +5,8 @@ require 'generators/workflow'
|
|
5
5
|
describe Dslable::Generators::Workflow do
|
6
6
|
|
7
7
|
context :generate do
|
8
|
-
OUTPUT_WORKFLOW_TMP_DIR =
|
9
|
-
TODOS_CASE1
|
8
|
+
OUTPUT_WORKFLOW_TMP_DIR = 'workflow_tmp'
|
9
|
+
TODOS_CASE1 = <<-EOS
|
10
10
|
implement 'sample_gem_core.rb' your main logic. pass rspec all specs.
|
11
11
|
implement bin 'bin/samplegem'.
|
12
12
|
edit 'sample_gem.gemspec'.
|
@@ -21,21 +21,21 @@ gem install sample_gem.
|
|
21
21
|
after release check.
|
22
22
|
EOS
|
23
23
|
|
24
|
-
DOINGS_CASE1
|
24
|
+
DOINGS_CASE1 = <<-EOS
|
25
25
|
implement 'sample_gem_core_spec.rb'.
|
26
26
|
EOS
|
27
27
|
|
28
28
|
cases = [
|
29
29
|
{
|
30
30
|
case_no: 1,
|
31
|
-
case_title:
|
32
|
-
gem_name:
|
33
|
-
bin_name:
|
31
|
+
case_title: 'generate',
|
32
|
+
gem_name: 'sample_gem',
|
33
|
+
bin_name: 'samplegem',
|
34
34
|
expected: Dslable::Generators::Workflow::TUDU_FILES,
|
35
35
|
expected_contents: {
|
36
|
-
:
|
37
|
-
:
|
38
|
-
:
|
36
|
+
todos: TODOS_CASE1,
|
37
|
+
doings: DOINGS_CASE1,
|
38
|
+
dones: ''
|
39
39
|
}
|
40
40
|
},
|
41
41
|
]
|
@@ -56,7 +56,7 @@ implement 'sample_gem_core_spec.rb'.
|
|
56
56
|
|
57
57
|
# -- then --
|
58
58
|
c[:expected].each do |key, file_definition|
|
59
|
-
actual = File.open(file_definition[:file_name]) {|f|f.read}
|
59
|
+
actual = File.open(file_definition[:file_name]) { |f|f.read }
|
60
60
|
expect(actual).to eq(c[:expected_contents][key])
|
61
61
|
end
|
62
62
|
ensure
|
@@ -72,7 +72,7 @@ implement 'sample_gem_core_spec.rb'.
|
|
72
72
|
|
73
73
|
def case_after(c)
|
74
74
|
# implement each case after
|
75
|
-
Dir.chdir(
|
75
|
+
Dir.chdir('../')
|
76
76
|
FileUtils.rm_rf(OUTPUT_WORKFLOW_TMP_DIR) if Dir.exists? OUTPUT_WORKFLOW_TMP_DIR
|
77
77
|
end
|
78
78
|
end
|