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
data/spec/dslable_args_spec.rb
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'dslable_args'
|
4
4
|
|
5
5
|
describe Dslable::Args do
|
6
6
|
context :desc do
|
7
7
|
cases = [
|
8
8
|
{
|
9
9
|
case_no: 1,
|
10
|
-
case_title:
|
11
|
-
input:
|
12
|
-
expected:
|
10
|
+
case_title: 'valid description',
|
11
|
+
input: 'this is descripotion',
|
12
|
+
expected: 'this is descripotion'
|
13
13
|
},
|
14
14
|
{
|
15
15
|
case_no: 2,
|
16
|
-
case_title:
|
17
|
-
input:
|
18
|
-
expected:
|
16
|
+
case_title: 'empty description',
|
17
|
+
input: '',
|
18
|
+
expected: ''
|
19
19
|
},
|
20
20
|
{
|
21
21
|
case_no: 3,
|
22
|
-
case_title:
|
22
|
+
case_title: 'nil description',
|
23
23
|
input: nil,
|
24
|
-
expected:
|
24
|
+
expected: ''
|
25
25
|
},
|
26
26
|
]
|
27
27
|
|
@@ -58,26 +58,26 @@ describe Dslable::Args do
|
|
58
58
|
cases = [
|
59
59
|
{
|
60
60
|
case_no: 1,
|
61
|
-
case_title:
|
62
|
-
input:
|
63
|
-
expected:
|
61
|
+
case_title: 'valid dsl_args name',
|
62
|
+
input: 'abcdefghijklmnopqrstuvwxyz01234567891_',
|
63
|
+
expected: 'abcdefghijklmnopqrstuvwxyz01234567891_'
|
64
64
|
},
|
65
65
|
{
|
66
66
|
case_no: 2,
|
67
|
-
case_title:
|
68
|
-
input:
|
67
|
+
case_title: 'empty dsl_args name',
|
68
|
+
input: '',
|
69
69
|
expect_error: true
|
70
70
|
},
|
71
71
|
{
|
72
72
|
case_no: 3,
|
73
|
-
case_title:
|
73
|
+
case_title: 'nil dsl_args name',
|
74
74
|
input: nil,
|
75
75
|
expect_error: true
|
76
76
|
},
|
77
77
|
{
|
78
78
|
case_no: 4,
|
79
|
-
case_title:
|
80
|
-
input:
|
79
|
+
case_title: 'invalid dsl_args name contain space',
|
80
|
+
input: 'method name',
|
81
81
|
expect_error: true
|
82
82
|
},
|
83
83
|
]
|
@@ -92,7 +92,7 @@ describe Dslable::Args do
|
|
92
92
|
|
93
93
|
# -- when --
|
94
94
|
if c[:expect_error]
|
95
|
-
lambda {dslable_args.args_name c[:input]}.should raise_error(Dslable::InvalidArgsError)
|
95
|
+
lambda { dslable_args.args_name c[:input] }.should raise_error(Dslable::InvalidArgsError)
|
96
96
|
next
|
97
97
|
end
|
98
98
|
dslable_args.args_name c[:input]
|
@@ -119,34 +119,40 @@ describe Dslable::Args do
|
|
119
119
|
cases = [
|
120
120
|
{
|
121
121
|
case_no: 1,
|
122
|
-
case_title:
|
122
|
+
case_title: 'valid klass String',
|
123
123
|
input: String,
|
124
124
|
expected: String
|
125
125
|
},
|
126
126
|
{
|
127
127
|
case_no: 2,
|
128
|
-
case_title:
|
128
|
+
case_title: 'valid klass Array',
|
129
129
|
input: Array,
|
130
130
|
expected: Array
|
131
131
|
},
|
132
132
|
{
|
133
133
|
case_no: 3,
|
134
|
-
case_title:
|
134
|
+
case_title: 'valid klass Hash',
|
135
135
|
input: Hash,
|
136
136
|
expected: Hash
|
137
137
|
},
|
138
138
|
{
|
139
139
|
case_no: 4,
|
140
|
-
case_title:
|
140
|
+
case_title: 'invalid klass Hash',
|
141
141
|
input: Fixnum,
|
142
142
|
expect_error: true
|
143
143
|
},
|
144
144
|
{
|
145
145
|
case_no: 5,
|
146
|
-
case_title:
|
146
|
+
case_title: 'nil klass',
|
147
147
|
input: nil,
|
148
148
|
expect_error: true
|
149
149
|
},
|
150
|
+
{
|
151
|
+
case_no: 6,
|
152
|
+
case_title: 'valid klass Boolean',
|
153
|
+
input: :Boolean,
|
154
|
+
expected: :Boolean
|
155
|
+
},
|
150
156
|
]
|
151
157
|
|
152
158
|
cases.each do |c|
|
@@ -159,7 +165,7 @@ describe Dslable::Args do
|
|
159
165
|
|
160
166
|
# -- when --
|
161
167
|
if c[:expect_error]
|
162
|
-
lambda {dslable_args.klass c[:input]}.should raise_error(Dslable::InvalidArgsError)
|
168
|
+
lambda { dslable_args.klass c[:input] }.should raise_error(Dslable::InvalidArgsError)
|
163
169
|
next
|
164
170
|
end
|
165
171
|
dslable_args.klass c[:input]
|
@@ -186,7 +192,7 @@ describe Dslable::Args do
|
|
186
192
|
cases = [
|
187
193
|
{
|
188
194
|
case_no: 1,
|
189
|
-
case_title:
|
195
|
+
case_title: 'valid required',
|
190
196
|
expected: true
|
191
197
|
},
|
192
198
|
]
|
@@ -224,9 +230,9 @@ describe Dslable::Args do
|
|
224
230
|
cases = [
|
225
231
|
{
|
226
232
|
case_no: 1,
|
227
|
-
case_title:
|
228
|
-
input:
|
229
|
-
expected:
|
233
|
+
case_title: 'valid default',
|
234
|
+
input: 'valid default',
|
235
|
+
expected: 'valid default'
|
230
236
|
},
|
231
237
|
]
|
232
238
|
|
data/spec/dslable_core_spec.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'dslable_core'
|
4
|
+
require 'fileutils'
|
5
5
|
|
6
6
|
describe Dslable::Core do
|
7
7
|
context :init do
|
8
8
|
cases = [
|
9
9
|
{
|
10
10
|
case_no: 1,
|
11
|
-
case_title:
|
11
|
+
case_title: 'output template',
|
12
12
|
expected: Dslable::Core::DSLDEFINE_TEMPLATE
|
13
13
|
},
|
14
14
|
]
|
@@ -25,7 +25,7 @@ describe Dslable::Core do
|
|
25
25
|
dslable_core.init
|
26
26
|
|
27
27
|
# -- then --
|
28
|
-
actual = File.open(Dslable::Core::DSLDEFINE_FILE) {|f|f.read}
|
28
|
+
actual = File.open(Dslable::Core::DSLDEFINE_FILE) { |f|f.read }
|
29
29
|
expect(actual).to eq(c[:expected])
|
30
30
|
ensure
|
31
31
|
case_after c
|
@@ -43,7 +43,7 @@ describe Dslable::Core do
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
GENERATE_DSLABLE_GEM_CASE
|
46
|
+
GENERATE_DSLABLE_GEM_CASE = <<-EOS
|
47
47
|
# encoding: utf-8
|
48
48
|
gem_name "sample_gem"
|
49
49
|
|
@@ -76,7 +76,7 @@ end
|
|
76
76
|
EOS
|
77
77
|
|
78
78
|
context :generate do
|
79
|
-
OUTPUT_CORE_TMP_DIR =
|
79
|
+
OUTPUT_CORE_TMP_DIR = 'core_tmp'
|
80
80
|
DSLDEFINE_TEMPLATE1 = <<-EOS
|
81
81
|
# encoding: utf-8
|
82
82
|
|
@@ -93,7 +93,7 @@ field :field_name1 do |f|
|
|
93
93
|
f.args :args_name do |a|
|
94
94
|
# set your args description
|
95
95
|
a.desc "args description"
|
96
|
-
# you can use String, Array and
|
96
|
+
# you can use String, Array, Hash and :Boolean
|
97
97
|
a.klass String
|
98
98
|
# if you want not required, comment out following line
|
99
99
|
a.required
|
@@ -115,22 +115,22 @@ end
|
|
115
115
|
cases = [
|
116
116
|
{
|
117
117
|
case_no: 1,
|
118
|
-
case_title:
|
118
|
+
case_title: 'output some_core, some_dsl, some_dsl_model and their spec.',
|
119
119
|
define_src: DSLDEFINE_TEMPLATE1,
|
120
|
-
gem_name:
|
120
|
+
gem_name: 'sample_gem',
|
121
121
|
expected_files: [
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
122
|
+
'./sample_gem/Gemfile',
|
123
|
+
'./sample_gem/sample_gem.gemspec',
|
124
|
+
'./sample_gem/.gitignore',
|
125
|
+
'./sample_gem/.rspec',
|
126
|
+
'./sample_gem/Rakefile',
|
127
|
+
'./sample_gem/README.md',
|
128
|
+
'./sample_gem/lib/sample_gem_core.rb',
|
129
|
+
'./sample_gem/lib/sample_gem_dsl.rb',
|
130
|
+
'./sample_gem/lib/sample_gem_dsl_model.rb',
|
131
|
+
'./sample_gem/bin/bin_name',
|
132
|
+
'./sample_gem/spec/spec_helper.rb',
|
133
|
+
'./sample_gem/spec/sample_gem_core_spec.rb',
|
134
134
|
]
|
135
135
|
},
|
136
136
|
]
|
@@ -147,7 +147,7 @@ end
|
|
147
147
|
dslable_core.generate
|
148
148
|
|
149
149
|
# -- then --
|
150
|
-
Dir.chdir(
|
150
|
+
Dir.chdir('../')
|
151
151
|
c[:expected_files].each do |expected_file|
|
152
152
|
actual = File.exists? expected_file
|
153
153
|
expect(actual).to be_true
|
@@ -161,12 +161,12 @@ end
|
|
161
161
|
# implement each case before
|
162
162
|
Dir.mkdir(OUTPUT_CORE_TMP_DIR) unless Dir.exists? OUTPUT_CORE_TMP_DIR
|
163
163
|
Dir.chdir(OUTPUT_CORE_TMP_DIR)
|
164
|
-
File.open(Dslable::Core::DSLDEFINE_FILE,
|
164
|
+
File.open(Dslable::Core::DSLDEFINE_FILE, 'w') { |f|f.puts c[:define_src] }
|
165
165
|
end
|
166
166
|
|
167
167
|
def case_after(c)
|
168
168
|
# implement each case after
|
169
|
-
Dir.chdir(
|
169
|
+
Dir.chdir('../')
|
170
170
|
FileUtils.rm_rf(OUTPUT_CORE_TMP_DIR) if Dir.exists? OUTPUT_CORE_TMP_DIR
|
171
171
|
end
|
172
172
|
end
|
data/spec/dslable_dsl_spec.rb
CHANGED
@@ -1,32 +1,32 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'dslable_dsl'
|
4
4
|
|
5
5
|
describe Dslable::Dsl do
|
6
6
|
context :gem_name do
|
7
7
|
cases = [
|
8
8
|
{
|
9
9
|
case_no: 1,
|
10
|
-
case_title:
|
11
|
-
input:
|
12
|
-
expected:
|
10
|
+
case_title: 'valid gem name',
|
11
|
+
input: 'abcdefghijklmnopqrstuvwxyz01234567891_',
|
12
|
+
expected: 'abcdefghijklmnopqrstuvwxyz01234567891_'
|
13
13
|
},
|
14
14
|
{
|
15
15
|
case_no: 2,
|
16
|
-
case_title:
|
17
|
-
input:
|
16
|
+
case_title: 'empty gem name',
|
17
|
+
input: '',
|
18
18
|
expect_error: true
|
19
19
|
},
|
20
20
|
{
|
21
21
|
case_no: 3,
|
22
|
-
case_title:
|
22
|
+
case_title: 'nil gem name',
|
23
23
|
input: nil,
|
24
24
|
expect_error: true
|
25
25
|
},
|
26
26
|
{
|
27
27
|
case_no: 4,
|
28
|
-
case_title:
|
29
|
-
input:
|
28
|
+
case_title: 'invalid gem name contain space',
|
29
|
+
input: 'gem name',
|
30
30
|
expect_error: true
|
31
31
|
},
|
32
32
|
]
|
@@ -41,7 +41,7 @@ describe Dslable::Dsl do
|
|
41
41
|
|
42
42
|
# -- when --
|
43
43
|
if c[:expect_error]
|
44
|
-
lambda {dslable_dsl.gem_name c[:input]}.should raise_error(Dslable::InvalidDslError)
|
44
|
+
lambda { dslable_dsl.gem_name c[:input] }.should raise_error(Dslable::InvalidDslError)
|
45
45
|
next
|
46
46
|
end
|
47
47
|
dslable_dsl.gem_name c[:input]
|
@@ -68,19 +68,19 @@ describe Dslable::Dsl do
|
|
68
68
|
cases = [
|
69
69
|
{
|
70
70
|
case_no: 1,
|
71
|
-
case_title:
|
72
|
-
input:
|
73
|
-
expected:
|
71
|
+
case_title: 'valid gem desc',
|
72
|
+
input: 'abcdefghijklmnopqrstuvwxyz01234567891_',
|
73
|
+
expected: 'abcdefghijklmnopqrstuvwxyz01234567891_'
|
74
74
|
},
|
75
75
|
{
|
76
76
|
case_no: 2,
|
77
|
-
case_title:
|
78
|
-
input:
|
77
|
+
case_title: 'empty gem desc',
|
78
|
+
input: '',
|
79
79
|
expect_error: true
|
80
80
|
},
|
81
81
|
{
|
82
82
|
case_no: 3,
|
83
|
-
case_title:
|
83
|
+
case_title: 'nil gem desc',
|
84
84
|
input: nil,
|
85
85
|
expect_error: true
|
86
86
|
},
|
@@ -96,7 +96,7 @@ describe Dslable::Dsl do
|
|
96
96
|
|
97
97
|
# -- when --
|
98
98
|
if c[:expect_error]
|
99
|
-
lambda {dslable_dsl.gem_desc c[:input]}.should raise_error(Dslable::InvalidDslError)
|
99
|
+
lambda { dslable_dsl.gem_desc c[:input] }.should raise_error(Dslable::InvalidDslError)
|
100
100
|
next
|
101
101
|
end
|
102
102
|
dslable_dsl.gem_desc c[:input]
|
@@ -123,15 +123,15 @@ describe Dslable::Dsl do
|
|
123
123
|
cases = [
|
124
124
|
{
|
125
125
|
case_no: 1,
|
126
|
-
case_title:
|
126
|
+
case_title: 'case_title',
|
127
127
|
input_field_name: :field_name,
|
128
|
-
input_field_desc:
|
128
|
+
input_field_desc: 'field_desc',
|
129
129
|
input_args_name: :args_name,
|
130
|
-
input_args_desc:
|
130
|
+
input_args_desc: 'args_desc',
|
131
131
|
expected_field_name: :field_name,
|
132
|
-
expected_field_desc:
|
132
|
+
expected_field_desc: 'field_desc',
|
133
133
|
expected_args_name: :args_name,
|
134
|
-
expected_args_desc:
|
134
|
+
expected_args_desc: 'args_desc',
|
135
135
|
},
|
136
136
|
]
|
137
137
|
|
@@ -176,26 +176,26 @@ describe Dslable::Dsl do
|
|
176
176
|
cases = [
|
177
177
|
{
|
178
178
|
case_no: 1,
|
179
|
-
case_title:
|
180
|
-
input:
|
181
|
-
expected:
|
179
|
+
case_title: 'valid bin name',
|
180
|
+
input: 'abcdefghijklmnopqrstuvwxyz01234567891_',
|
181
|
+
expected: 'abcdefghijklmnopqrstuvwxyz01234567891_'
|
182
182
|
},
|
183
183
|
{
|
184
184
|
case_no: 2,
|
185
|
-
case_title:
|
186
|
-
input:
|
185
|
+
case_title: 'empty bin name',
|
186
|
+
input: '',
|
187
187
|
expect_error: true
|
188
188
|
},
|
189
189
|
{
|
190
190
|
case_no: 3,
|
191
|
-
case_title:
|
191
|
+
case_title: 'nil bin name',
|
192
192
|
input: nil,
|
193
193
|
expect_error: true
|
194
194
|
},
|
195
195
|
{
|
196
196
|
case_no: 4,
|
197
|
-
case_title:
|
198
|
-
input:
|
197
|
+
case_title: 'invalid bin name contain space',
|
198
|
+
input: 'bin name',
|
199
199
|
expect_error: true
|
200
200
|
},
|
201
201
|
]
|
@@ -210,7 +210,7 @@ describe Dslable::Dsl do
|
|
210
210
|
|
211
211
|
# -- when --
|
212
212
|
if c[:expect_error]
|
213
|
-
lambda {dslable_dsl.bin_name c[:input]}.should raise_error(Dslable::InvalidDslError)
|
213
|
+
lambda { dslable_dsl.bin_name c[:input] }.should raise_error(Dslable::InvalidDslError)
|
214
214
|
next
|
215
215
|
end
|
216
216
|
dslable_dsl.bin_name c[:input]
|
data/spec/dslable_field_spec.rb
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'dslable_field'
|
4
4
|
|
5
5
|
describe Dslable::Field do
|
6
6
|
context :desc do
|
7
7
|
cases = [
|
8
8
|
{
|
9
9
|
case_no: 1,
|
10
|
-
case_title:
|
11
|
-
input:
|
12
|
-
expected:
|
10
|
+
case_title: 'valid description',
|
11
|
+
input: 'this is descripotion',
|
12
|
+
expected: 'this is descripotion'
|
13
13
|
},
|
14
14
|
{
|
15
15
|
case_no: 2,
|
16
|
-
case_title:
|
17
|
-
input:
|
18
|
-
expected:
|
16
|
+
case_title: 'empty description',
|
17
|
+
input: '',
|
18
|
+
expected: ''
|
19
19
|
},
|
20
20
|
{
|
21
21
|
case_no: 3,
|
22
|
-
case_title:
|
22
|
+
case_title: 'nil description',
|
23
23
|
input: nil,
|
24
|
-
expected:
|
24
|
+
expected: ''
|
25
25
|
},
|
26
26
|
]
|
27
27
|
|
@@ -58,17 +58,17 @@ describe Dslable::Field do
|
|
58
58
|
cases = [
|
59
59
|
{
|
60
60
|
case_no: 1,
|
61
|
-
case_title:
|
61
|
+
case_title: 'valid args',
|
62
62
|
input_key: :args_name,
|
63
|
-
input_desc:
|
63
|
+
input_desc: 'desc',
|
64
64
|
input_klass: String,
|
65
65
|
input_required: true,
|
66
|
-
input_default_value:
|
66
|
+
input_default_value: 'default',
|
67
67
|
expected_key: :args_name,
|
68
|
-
expected_desc:
|
68
|
+
expected_desc: 'desc',
|
69
69
|
expected_klass: String,
|
70
70
|
expected_required: true,
|
71
|
-
expected_default_value:
|
71
|
+
expected_default_value: 'default',
|
72
72
|
},
|
73
73
|
]
|
74
74
|
|