fluent_command_builder 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,39 @@
1
+ module FluentCommandBuilder
2
+ class CommandBuilder
3
+
4
+ def initialize command
5
+ @command = command.to_s
6
+ end
7
+
8
+ def append value
9
+ @command << value + ' '
10
+ end
11
+
12
+ def format value, delimiter=nil, key_value_separator=nil
13
+ yield(format_value(value, delimiter, key_value_separator))
14
+ end
15
+
16
+ def to_s
17
+ @command
18
+ end
19
+
20
+ private
21
+
22
+ def format_value value, delimiter=nil, key_value_separator=nil
23
+ quote_if_includes_space(array_to_s([value].flatten.map { |v| v.kind_of?(Hash) ? hash_to_array(v, key_value_separator) : value }, delimiter)) unless value.nil?
24
+ end
25
+
26
+ def hash_to_array hash, key_value_separator
27
+ hash.map { |k, v| k.to_s + key_value_separator + v.to_s }
28
+ end
29
+
30
+ def array_to_s array, delimiter
31
+ array.join delimiter
32
+ end
33
+
34
+ def quote_if_includes_space value
35
+ value.to_s.include?(' ') ? %Q["#{value}"] : value
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,103 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../command_builder')
2
+
3
+ module FluentCommandBuilder
4
+ module AspnetCompiler
5
+ module V40
6
+ class AspnetCompiler
7
+ def initialize command=nil
8
+ @builder = CommandBuilder.new command
9
+ @builder.append 'aspnet_compiler'
10
+ self
11
+ end
12
+
13
+ def target_dir target_dir
14
+ @builder.append "#{target_dir}"
15
+ self
16
+ end
17
+
18
+ def m metabase_path
19
+ @builder.append "-m #{metabase_path}"
20
+ self
21
+ end
22
+
23
+ def v virtual_path
24
+ @builder.append "-v #{virtual_path}"
25
+ self
26
+ end
27
+
28
+ def p physical_path
29
+ @builder.append "-p #{physical_path}"
30
+ self
31
+ end
32
+
33
+ def u
34
+ @builder.append "-u"
35
+ self
36
+ end
37
+
38
+ def f
39
+ @builder.append "-f"
40
+ self
41
+ end
42
+
43
+ def d
44
+ @builder.append "-d"
45
+ self
46
+ end
47
+
48
+ def fixed_names
49
+ @builder.append "-fixedNames"
50
+ self
51
+ end
52
+
53
+ def c
54
+ @builder.append "-c"
55
+ self
56
+ end
57
+
58
+ def error_stack
59
+ @builder.append "-errorStack"
60
+ self
61
+ end
62
+
63
+ def no_logo
64
+ @builder.append "-noLogo"
65
+ self
66
+ end
67
+
68
+ def key_file file
69
+ @builder.append "-keyFile #{file}"
70
+ self
71
+ end
72
+
73
+ def key_container container
74
+ @builder.append "-keyContainer #{container}"
75
+ self
76
+ end
77
+
78
+ def aptca
79
+ @builder.append "-aptca"
80
+ self
81
+ end
82
+
83
+ def delay_sign
84
+ @builder.append "-delaySign"
85
+ self
86
+ end
87
+
88
+ def to_s
89
+ @builder.to_s
90
+ end
91
+
92
+ end
93
+
94
+ end
95
+
96
+ end
97
+
98
+ def aspnet_compiler40
99
+ AspnetCompiler::V40::AspnetCompiler.new
100
+ end
101
+
102
+ end
103
+
@@ -0,0 +1,173 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../command_builder')
2
+
3
+ module FluentCommandBuilder
4
+ module Cucumber
5
+ module V11
6
+ class Cucumber
7
+ def initialize command=nil
8
+ @builder = CommandBuilder.new command
9
+ @builder.append 'cucumber'
10
+ self
11
+ end
12
+
13
+ def require library
14
+ @builder.append "--require #{library}"
15
+ self
16
+ end
17
+
18
+ def i18n lang
19
+ @builder.append "--i18n #{lang}"
20
+ self
21
+ end
22
+
23
+ def format format
24
+ @builder.append "--format #{format}"
25
+ self
26
+ end
27
+
28
+ def out file
29
+ @builder.append "--out #{file}"
30
+ self
31
+ end
32
+
33
+ def tags tag_expression
34
+ @builder.format(tag_expression, ',') { |v| @builder.append "--tags #{v}" }
35
+ self
36
+ end
37
+
38
+ def name name
39
+ @builder.append "--name #{name}"
40
+ self
41
+ end
42
+
43
+ def exclude pattern
44
+ @builder.append "--exclude #{pattern}"
45
+ self
46
+ end
47
+
48
+ def profile profile
49
+ @builder.append "--profile #{profile}"
50
+ self
51
+ end
52
+
53
+ def no_profile
54
+ @builder.append "--no-profile"
55
+ self
56
+ end
57
+
58
+ def color
59
+ @builder.append "--color"
60
+ self
61
+ end
62
+
63
+ def no_color
64
+ @builder.append "--no-color"
65
+ self
66
+ end
67
+
68
+ def dry_run
69
+ @builder.append "--dry-run"
70
+ self
71
+ end
72
+
73
+ def autoformat dir
74
+ @builder.append "--autoformat #{dir}"
75
+ self
76
+ end
77
+
78
+ def no_multiline
79
+ @builder.append "--no-multiline"
80
+ self
81
+ end
82
+
83
+ def no_source
84
+ @builder.append "--no-source"
85
+ self
86
+ end
87
+
88
+ def no_snippets
89
+ @builder.append "--no-snippets"
90
+ self
91
+ end
92
+
93
+ def quiet
94
+ @builder.append "--quiet"
95
+ self
96
+ end
97
+
98
+ def backtrace
99
+ @builder.append "--backtrace"
100
+ self
101
+ end
102
+
103
+ def strict
104
+ @builder.append "--strict"
105
+ self
106
+ end
107
+
108
+ def wip
109
+ @builder.append "--wip"
110
+ self
111
+ end
112
+
113
+ def verbose
114
+ @builder.append "--verbose"
115
+ self
116
+ end
117
+
118
+ def guess
119
+ @builder.append "--guess"
120
+ self
121
+ end
122
+
123
+ def lines lines
124
+ @builder.append "--lines #{lines}"
125
+ self
126
+ end
127
+
128
+ def expand
129
+ @builder.append "--expand"
130
+ self
131
+ end
132
+
133
+ def drb
134
+ @builder.append "--drb"
135
+ self
136
+ end
137
+
138
+ def port port
139
+ @builder.append "--port #{port}"
140
+ self
141
+ end
142
+
143
+ def dotcucumber dir
144
+ @builder.append "--dotcucumber #{dir}"
145
+ self
146
+ end
147
+
148
+ def version
149
+ @builder.append "--version"
150
+ self
151
+ end
152
+
153
+ def help
154
+ @builder.append "--help"
155
+ self
156
+ end
157
+
158
+ def to_s
159
+ @builder.to_s
160
+ end
161
+
162
+ end
163
+
164
+ end
165
+
166
+ end
167
+
168
+ def cucumber11
169
+ Cucumber::V11::Cucumber.new
170
+ end
171
+
172
+ end
173
+
@@ -0,0 +1,297 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../command_builder')
2
+
3
+ module FluentCommandBuilder
4
+ module DotCover
5
+ module V11
6
+ class DotCover
7
+ def initialize command=nil
8
+ @builder = CommandBuilder.new command
9
+ @builder.append 'dotCover'
10
+ self
11
+ end
12
+
13
+ def cover
14
+ Cover.new self
15
+ end
16
+
17
+ def merge
18
+ Merge.new self
19
+ end
20
+
21
+ def report
22
+ Report.new self
23
+ end
24
+
25
+ def list
26
+ List.new self
27
+ end
28
+
29
+ def delete
30
+ Delete.new self
31
+ end
32
+
33
+ def analyse
34
+ Analyse.new self
35
+ end
36
+
37
+ def zip
38
+ Zip.new self
39
+ end
40
+
41
+ def to_s
42
+ @builder.to_s
43
+ end
44
+
45
+ end
46
+
47
+ class Cover
48
+ def initialize command=nil
49
+ @builder = CommandBuilder.new command
50
+ @builder.append 'cover'
51
+ self
52
+ end
53
+
54
+ def analyse_target_arguments arg
55
+ @builder.append "/AnalyseTargetArguments=#{arg}"
56
+ self
57
+ end
58
+
59
+ def filters arg
60
+ @builder.append "/Filters=#{arg}"
61
+ self
62
+ end
63
+
64
+ def inherit_console arg
65
+ @builder.append "/InheritConsole=#{arg}"
66
+ self
67
+ end
68
+
69
+ def log_file arg
70
+ @builder.append "/LogFile=#{arg}"
71
+ self
72
+ end
73
+
74
+ def output arg
75
+ @builder.append "/Output=#{arg}"
76
+ self
77
+ end
78
+
79
+ def target_arguments arg
80
+ @builder.append "/TargetArguments=#{arg}"
81
+ self
82
+ end
83
+
84
+ def target_executable arg
85
+ @builder.append "/TargetExecutable=#{arg}"
86
+ self
87
+ end
88
+
89
+ def target_working_dir arg
90
+ @builder.append "/TargetWorkingDir=#{arg}"
91
+ self
92
+ end
93
+
94
+ def temp_dir arg
95
+ @builder.append "/TempDir=#{arg}"
96
+ self
97
+ end
98
+
99
+ def to_s
100
+ @builder.to_s
101
+ end
102
+
103
+ end
104
+
105
+ class Merge
106
+ def initialize command=nil
107
+ @builder = CommandBuilder.new command
108
+ @builder.append 'merge'
109
+ self
110
+ end
111
+
112
+ def output arg
113
+ @builder.append "/Output=#{arg}"
114
+ self
115
+ end
116
+
117
+ def source arg
118
+ @builder.append "/Source=#{arg}"
119
+ self
120
+ end
121
+
122
+ def temp_dir arg
123
+ @builder.append "/TempDir=#{arg}"
124
+ self
125
+ end
126
+
127
+ def to_s
128
+ @builder.to_s
129
+ end
130
+
131
+ end
132
+
133
+ class Report
134
+ def initialize command=nil
135
+ @builder = CommandBuilder.new command
136
+ @builder.append 'report'
137
+ self
138
+ end
139
+
140
+ def output arg
141
+ @builder.append "/Output=#{arg}"
142
+ self
143
+ end
144
+
145
+ def report_type arg
146
+ @builder.append "/ReportType=#{arg}"
147
+ self
148
+ end
149
+
150
+ def source arg
151
+ @builder.append "/Source=#{arg}"
152
+ self
153
+ end
154
+
155
+ def to_s
156
+ @builder.to_s
157
+ end
158
+
159
+ end
160
+
161
+ class List
162
+ def initialize command=nil
163
+ @builder = CommandBuilder.new command
164
+ @builder.append 'list'
165
+ self
166
+ end
167
+
168
+ def output arg
169
+ @builder.append "/Output=#{arg}"
170
+ self
171
+ end
172
+
173
+ def source arg
174
+ @builder.append "/Source=#{arg}"
175
+ self
176
+ end
177
+
178
+ def to_s
179
+ @builder.to_s
180
+ end
181
+
182
+ end
183
+
184
+ class Delete
185
+ def initialize command=nil
186
+ @builder = CommandBuilder.new command
187
+ @builder.append 'delete'
188
+ self
189
+ end
190
+
191
+ def source arg
192
+ @builder.append "/Source=#{arg}"
193
+ self
194
+ end
195
+
196
+ def to_s
197
+ @builder.to_s
198
+ end
199
+
200
+ end
201
+
202
+ class Analyse
203
+ def initialize command=nil
204
+ @builder = CommandBuilder.new command
205
+ @builder.append 'analyse'
206
+ self
207
+ end
208
+
209
+ def analyse_target_arguments arg
210
+ @builder.append "/AnalyseTargetArguments=#{arg}"
211
+ self
212
+ end
213
+
214
+ def filters arg
215
+ @builder.append "/Filters=#{arg}"
216
+ self
217
+ end
218
+
219
+ def inherit_console arg
220
+ @builder.append "/InheritConsole=#{arg}"
221
+ self
222
+ end
223
+
224
+ def log_file arg
225
+ @builder.append "/LogFile=#{arg}"
226
+ self
227
+ end
228
+
229
+ def output arg
230
+ @builder.append "/Output=#{arg}"
231
+ self
232
+ end
233
+
234
+ def report_type arg
235
+ @builder.append "/ReportType=#{arg}"
236
+ self
237
+ end
238
+
239
+ def target_arguments arg
240
+ @builder.append "/TargetArguments=#{arg}"
241
+ self
242
+ end
243
+
244
+ def target_executable arg
245
+ @builder.append "/TargetExecutable=#{arg}"
246
+ self
247
+ end
248
+
249
+ def target_working_dir arg
250
+ @builder.append "/TargetWorkingDir=#{arg}"
251
+ self
252
+ end
253
+
254
+ def temp_dir arg
255
+ @builder.append "/TempDir=#{arg}"
256
+ self
257
+ end
258
+
259
+ def to_s
260
+ @builder.to_s
261
+ end
262
+
263
+ end
264
+
265
+ class Zip
266
+ def initialize command=nil
267
+ @builder = CommandBuilder.new command
268
+ @builder.append 'zip'
269
+ self
270
+ end
271
+
272
+ def output arg
273
+ @builder.append "/Output=#{arg}"
274
+ self
275
+ end
276
+
277
+ def source arg
278
+ @builder.append "/Source=#{arg}"
279
+ self
280
+ end
281
+
282
+ def to_s
283
+ @builder.to_s
284
+ end
285
+
286
+ end
287
+
288
+ end
289
+
290
+ end
291
+
292
+ def dotcover11
293
+ DotCover::V11::DotCover.new
294
+ end
295
+
296
+ end
297
+