fluent_command_builder 0.1.0 → 0.1.1

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.
@@ -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
+