dslable 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|