command_exec 0.1.3 → 0.2.0
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/Gemfile +6 -2
- data/Gemfile.lock +42 -18
- data/README.md +707 -72
- data/RELEASE_NOTES.md +62 -0
- data/Rakefile +40 -9
- data/TODO.md +8 -2
- data/command_exec.gemspec +3 -2
- data/gemfiles/Gemfile.default +28 -0
- data/gemfiles/Gemfile.travis +16 -0
- data/gemfiles/Gemfile.travis.lock +48 -0
- data/lib/command_exec.rb +22 -2
- data/lib/command_exec/command.rb +307 -157
- data/lib/command_exec/exceptions.rb +16 -6
- data/lib/command_exec/field_helper.rb +263 -0
- data/lib/command_exec/formatter/array.rb +158 -0
- data/lib/command_exec/formatter/hash.rb +78 -0
- data/lib/command_exec/formatter/json.rb +22 -0
- data/lib/command_exec/formatter/string.rb +22 -0
- data/lib/command_exec/formatter/xml.rb +22 -0
- data/lib/command_exec/formatter/yaml.rb +22 -0
- data/lib/command_exec/logger.rb +9 -0
- data/lib/command_exec/process.rb +294 -0
- data/lib/command_exec/spec_helper_module.rb +52 -0
- data/lib/command_exec/version.rb +1 -1
- data/script/console +8 -0
- data/spec/command/command_spec.rb +413 -117
- data/spec/command/test_data/echo_test +3 -0
- data/spec/command/test_data/exit_status_test +2 -0
- data/spec/command/test_data/log_file_test +3 -0
- data/spec/command/test_data/logger_test +2 -0
- data/spec/command/test_data/not_raise_error_test +4 -0
- data/spec/command/test_data/not_throw_error_test +4 -0
- data/spec/command/test_data/output_test +6 -0
- data/spec/command/test_data/raise_error_test +6 -0
- data/spec/command/test_data/runner_open3_test +4 -0
- data/spec/command/test_data/runner_system_test +4 -0
- data/spec/command/test_data/stderr_test +4 -0
- data/spec/command/test_data/stdout_multiple_lines_test +4 -0
- data/spec/command/test_data/stdout_test +4 -0
- data/spec/command/test_data/throw_error_test +6 -0
- data/spec/command/test_data/true_test +2 -0
- data/spec/formatter/array_spec.rb +215 -0
- data/spec/formatter/hash_spec.rb +117 -0
- data/spec/formatter/json_spec.rb +21 -0
- data/spec/formatter/xml_spec.rb +33 -0
- data/spec/formatter/yaml_spec.rb +21 -0
- data/spec/process/process_spec.rb +329 -0
- data/spec/spec_helper.rb +15 -4
- metadata +79 -5
@@ -0,0 +1,33 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Formatter::XML do
|
6
|
+
before :each do
|
7
|
+
@formatter = Formatter::XML.new
|
8
|
+
end
|
9
|
+
|
10
|
+
it "outputs data as XML string" do
|
11
|
+
@formatter.stderr(["output of stderr"])
|
12
|
+
@formatter.stdout("output of stdout")
|
13
|
+
@formatter.log_file("output of log file")
|
14
|
+
@formatter.return_code("output of return code")
|
15
|
+
@formatter.pid(4711)
|
16
|
+
@formatter.status(:failed)
|
17
|
+
@formatter.executable('/usr/bin/true')
|
18
|
+
|
19
|
+
expect(@formatter.output(:stdout,:stderr)).to eq("<command>\n <stdout>output of stdout</stdout>\n <stderr>output of stderr</stderr>\n</command>\n")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "outputs data as XML string (attributes with multiple values)" do
|
23
|
+
@formatter.stderr(["output of stderr 1/2", "output of stderr 2/2"])
|
24
|
+
@formatter.stdout("output of stdout")
|
25
|
+
@formatter.log_file("output of log file")
|
26
|
+
@formatter.return_code("output of return code")
|
27
|
+
@formatter.pid(4711)
|
28
|
+
@formatter.status(:failed)
|
29
|
+
@formatter.executable('/usr/bin/true')
|
30
|
+
|
31
|
+
expect(@formatter.output(:stdout,:stderr)).to eq("<command>\n <stdout>output of stdout</stdout>\n <stderr>output of stderr 1/2</stderr>\n <stderr>output of stderr 2/2</stderr>\n</command>\n")
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Formatter::YAML do
|
6
|
+
before :each do
|
7
|
+
@formatter = Formatter::YAML.new
|
8
|
+
end
|
9
|
+
|
10
|
+
it "outputs data as yaml string" do
|
11
|
+
@formatter.stderr(["output of stderr"])
|
12
|
+
@formatter.stdout("output of stdout")
|
13
|
+
@formatter.log_file("output of log file")
|
14
|
+
@formatter.return_code("output of return code")
|
15
|
+
@formatter.pid(4711)
|
16
|
+
@formatter.status(:failed)
|
17
|
+
@formatter.executable('/usr/bin/true')
|
18
|
+
|
19
|
+
expect(@formatter.output(:stdout,:stderr)).to eq("---\n:stdout:\n- output of stdout\n:stderr:\n- output of stderr\n")
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,329 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe CommandExec::Process do
|
6
|
+
|
7
|
+
let(:dev_null) { StringIO.new }
|
8
|
+
|
9
|
+
context :private_api do; end
|
10
|
+
|
11
|
+
context :public_api do
|
12
|
+
|
13
|
+
it "has a executable" do
|
14
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
15
|
+
process.executable = '/bin/sh'
|
16
|
+
expect(process.executable).to eq('/bin/sh')
|
17
|
+
end
|
18
|
+
|
19
|
+
it "opens a log file" do
|
20
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
21
|
+
tmp_file = create_temp_file_with('process.log' , 'this is content' )
|
22
|
+
process.log_file = tmp_file
|
23
|
+
|
24
|
+
expect(process.log_file).to eq(['this is content'])
|
25
|
+
end
|
26
|
+
|
27
|
+
it "accepts nil as filename" do
|
28
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
29
|
+
process.log_file = nil
|
30
|
+
|
31
|
+
expect(process.log_file).to eq([])
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'accepts a start time' do
|
35
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
36
|
+
time = Time.now
|
37
|
+
process.start_time = time
|
38
|
+
|
39
|
+
expect(process.start_time).to eq(time)
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'accepts an end time' do
|
43
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
44
|
+
time = Time.now
|
45
|
+
process.end_time = time
|
46
|
+
|
47
|
+
expect(process.end_time).to eq(time)
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'calculates the run time' do
|
51
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
52
|
+
time = Time.now
|
53
|
+
process.start_time = time
|
54
|
+
process.end_time = time + 2.seconds
|
55
|
+
|
56
|
+
expect(process.run_time).to eq(2.seconds)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "goes on with a warning, if log file doesn't exists" do
|
60
|
+
file = '/tmp/test1234.txt'
|
61
|
+
bucket = StringIO.new
|
62
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(bucket))
|
63
|
+
tmp_file = create_temp_file_with('process.log' , 'this is content' )
|
64
|
+
process.log_file = file
|
65
|
+
process.log_file
|
66
|
+
|
67
|
+
expect(bucket.string[file]).to_not eq(nil)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "takes stdout" do
|
71
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
72
|
+
process.stdout = 'content'
|
73
|
+
expect(process.stdout).to eq(['content'])
|
74
|
+
|
75
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
76
|
+
process.stdout = ['content']
|
77
|
+
expect(process.stdout).to eq(['content'])
|
78
|
+
end
|
79
|
+
|
80
|
+
it "takes stderr" do
|
81
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
82
|
+
process.stderr = 'content'
|
83
|
+
expect(process.stderr).to eq(['content'])
|
84
|
+
|
85
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
86
|
+
process.stderr = ['content']
|
87
|
+
expect(process.stderr).to eq(['content'])
|
88
|
+
end
|
89
|
+
|
90
|
+
it "takes a pid" do
|
91
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
92
|
+
process.pid = 4711
|
93
|
+
expect(process.pid).to eq("4711")
|
94
|
+
|
95
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
96
|
+
process.pid = "4711"
|
97
|
+
expect(process.pid).to eq("4711")
|
98
|
+
end
|
99
|
+
|
100
|
+
it "takes a status" do
|
101
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
102
|
+
process.status = :failed
|
103
|
+
expect(process.status).to eq(:failed)
|
104
|
+
|
105
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
106
|
+
process.status = :success
|
107
|
+
expect(process.status).to eq(:success)
|
108
|
+
|
109
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
110
|
+
process.status = :unknown
|
111
|
+
expect(process.status).to eq(:failed)
|
112
|
+
end
|
113
|
+
|
114
|
+
it "takes a reason for a failure" do
|
115
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
116
|
+
process.reason_for_failure = 'this is an error msg'
|
117
|
+
expect(process.reason_for_failure).to eq(['this is an error msg'])
|
118
|
+
end
|
119
|
+
|
120
|
+
it "takes a return code" do
|
121
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
122
|
+
process.return_code = 1
|
123
|
+
expect(process.return_code).to eq(1)
|
124
|
+
end
|
125
|
+
|
126
|
+
it "returns an array" do
|
127
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
128
|
+
|
129
|
+
process.stderr = "output of stderr"
|
130
|
+
process.stdout = "output of stdout"
|
131
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
132
|
+
process.return_code = "output of return code"
|
133
|
+
process.status = :failed
|
134
|
+
process.pid = 4711
|
135
|
+
process.reason_for_failure = 'great an error occured'
|
136
|
+
process.executable = '/bin/true'
|
137
|
+
|
138
|
+
start_time = Time.now
|
139
|
+
end_time= start_time + 2.seconds
|
140
|
+
process.start_time = start_time
|
141
|
+
process.end_time = end_time
|
142
|
+
|
143
|
+
expect(process.to_a).to eq([
|
144
|
+
"===== STATUS =====",
|
145
|
+
"\e[1;31mFAILED\e[0m",
|
146
|
+
"===== RETURN CODE =====",
|
147
|
+
"output of return code",
|
148
|
+
"===== STDERR =====",
|
149
|
+
"output of stderr",
|
150
|
+
"===== STDOUT =====",
|
151
|
+
"output of stdout",
|
152
|
+
"===== LOG FILE =====",
|
153
|
+
"output of log file",
|
154
|
+
"===== PID =====",
|
155
|
+
"4711",
|
156
|
+
"===== REASON FOR FAILURE =====",
|
157
|
+
"great an error occured",
|
158
|
+
"===== EXECUTABLE =====",
|
159
|
+
"/bin/true",
|
160
|
+
"===== START TIME =====",
|
161
|
+
start_time,
|
162
|
+
"===== END TIME =====",
|
163
|
+
end_time,
|
164
|
+
])
|
165
|
+
|
166
|
+
expect(process.to_a(:status)).to eq([
|
167
|
+
"===== STATUS =====",
|
168
|
+
"\e[1;31mFAILED\e[0m",
|
169
|
+
])
|
170
|
+
|
171
|
+
end
|
172
|
+
|
173
|
+
it "returns a hash" do
|
174
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
175
|
+
|
176
|
+
process.stderr = "output of stderr"
|
177
|
+
process.stdout = "output of stdout"
|
178
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
179
|
+
process.return_code = "output of return code"
|
180
|
+
process.status = :failed
|
181
|
+
process.pid = 4711
|
182
|
+
process.reason_for_failure = 'great an error occured'
|
183
|
+
process.executable = '/usr/bin/true'
|
184
|
+
|
185
|
+
start_time = Time.now
|
186
|
+
end_time= start_time + 2.seconds
|
187
|
+
process.start_time = start_time
|
188
|
+
process.end_time = end_time
|
189
|
+
|
190
|
+
expect(process.to_h).to eq({
|
191
|
+
stderr: ["output of stderr"],
|
192
|
+
stdout: ["output of stdout"],
|
193
|
+
log_file: ["output of log file"],
|
194
|
+
return_code: ["output of return code"],
|
195
|
+
status: ['FAILED'],
|
196
|
+
pid: ['4711'],
|
197
|
+
reason_for_failure: ['great an error occured'],
|
198
|
+
executable: ['/usr/bin/true'],
|
199
|
+
start_time: [ start_time ],
|
200
|
+
end_time: [ end_time],
|
201
|
+
})
|
202
|
+
end
|
203
|
+
|
204
|
+
it 'returns a string version of process' do
|
205
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
206
|
+
|
207
|
+
process.stderr = "output of stderr"
|
208
|
+
process.stdout = "output of stdout"
|
209
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
210
|
+
process.return_code = "output of return code"
|
211
|
+
process.status = :failed
|
212
|
+
process.pid = 4711
|
213
|
+
process.reason_for_failure = 'great an error occured'
|
214
|
+
process.executable = '/usr/bin/true'
|
215
|
+
|
216
|
+
start_time = Time.now
|
217
|
+
end_time= start_time + 2.seconds
|
218
|
+
process.start_time = start_time
|
219
|
+
process.end_time = end_time
|
220
|
+
|
221
|
+
expect(process.to_s).to eq([
|
222
|
+
"===== STATUS =====",
|
223
|
+
"\e[1;31mFAILED\e[0m",
|
224
|
+
"===== RETURN CODE =====",
|
225
|
+
"output of return code",
|
226
|
+
"===== STDERR =====",
|
227
|
+
"output of stderr",
|
228
|
+
"===== STDOUT =====",
|
229
|
+
"output of stdout",
|
230
|
+
"===== LOG FILE =====",
|
231
|
+
"output of log file",
|
232
|
+
"===== PID =====",
|
233
|
+
"4711",
|
234
|
+
"===== REASON FOR FAILURE =====",
|
235
|
+
"great an error occured",
|
236
|
+
"===== EXECUTABLE =====",
|
237
|
+
"/usr/bin/true",
|
238
|
+
"===== START TIME =====",
|
239
|
+
start_time,
|
240
|
+
"===== END TIME =====",
|
241
|
+
end_time,
|
242
|
+
].join("\n")
|
243
|
+
)
|
244
|
+
end
|
245
|
+
|
246
|
+
it 'returns a json encoded string' do
|
247
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
248
|
+
|
249
|
+
process.stderr = "output of stderr"
|
250
|
+
process.stdout = "output of stdout"
|
251
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
252
|
+
process.return_code = "output of return code"
|
253
|
+
process.status = :failed
|
254
|
+
process.pid = 4711
|
255
|
+
process.reason_for_failure = 'great an error occured'
|
256
|
+
process.executable = '/usr/bin/true'
|
257
|
+
|
258
|
+
start_time = Time.now
|
259
|
+
end_time= start_time + 2.seconds
|
260
|
+
process.start_time = start_time
|
261
|
+
process.end_time = end_time
|
262
|
+
|
263
|
+
expect(process.to_json).to eq("{\"status\":[\"FAILED\"],\"return_code\":[\"output of return code\"],\"stderr\":[\"output of stderr\"],\"stdout\":[\"output of stdout\"],\"log_file\":[\"output of log file\"],\"pid\":[\"4711\"],\"reason_for_failure\":[\"great an error occured\"],\"executable\":[\"/usr/bin/true\"],\"start_time\":[\"#{start_time}\"],\"end_time\":[\"#{end_time}\"]}")
|
264
|
+
end
|
265
|
+
|
266
|
+
it 'returns a json encoded string and supports unicode as well' do
|
267
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
268
|
+
|
269
|
+
process.stderr = "this is an 'ä'"
|
270
|
+
process.stdout = "output of stdout"
|
271
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
272
|
+
process.return_code = "output of return code"
|
273
|
+
process.status = :failed
|
274
|
+
process.pid = 4711
|
275
|
+
process.reason_for_failure = 'great an error occured'
|
276
|
+
process.executable = '/usr/bin/true'
|
277
|
+
|
278
|
+
start_time = Time.now
|
279
|
+
end_time= start_time + 2.seconds
|
280
|
+
process.start_time = start_time
|
281
|
+
process.end_time = end_time
|
282
|
+
|
283
|
+
expect(process.to_json).to eq("{\"status\":[\"FAILED\"],\"return_code\":[\"output of return code\"],\"stderr\":[\"this is an 'ä'\"],\"stdout\":[\"output of stdout\"],\"log_file\":[\"output of log file\"],\"pid\":[\"4711\"],\"reason_for_failure\":[\"great an error occured\"],\"executable\":[\"/usr/bin/true\"],\"start_time\":[\"#{start_time}\"],\"end_time\":[\"#{end_time}\"]}")
|
284
|
+
end
|
285
|
+
|
286
|
+
it 'returns a yaml encoded string' do
|
287
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
288
|
+
|
289
|
+
process.stderr = "output of stderr"
|
290
|
+
process.stdout = "output of stdout"
|
291
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
292
|
+
process.return_code = "output of return code"
|
293
|
+
process.status = :failed
|
294
|
+
process.pid = 4711
|
295
|
+
process.reason_for_failure = 'great an error occured'
|
296
|
+
process.executable = '/usr/bin/true'
|
297
|
+
|
298
|
+
start_time = Time.now
|
299
|
+
end_time= start_time + 2.seconds
|
300
|
+
process.start_time = start_time
|
301
|
+
process.end_time = end_time
|
302
|
+
|
303
|
+
time_format_string = "%Y-%m-%d %H:%M:%S.%9N %:z"
|
304
|
+
|
305
|
+
expect(process.to_yaml).to eq("---\n:status:\n- FAILED\n:return_code:\n- output of return code\n:stderr:\n- output of stderr\n:stdout:\n- output of stdout\n:log_file:\n- output of log file\n:pid:\n- '4711'\n:reason_for_failure:\n- great an error occured\n:executable:\n- /usr/bin/true\n:start_time:\n- #{start_time.strftime(time_format_string)}\n:end_time:\n- #{end_time.strftime(time_format_string)}\n")
|
306
|
+
end
|
307
|
+
|
308
|
+
it 'returns a xml encoded string' do
|
309
|
+
process = CommandExec::Process.new(lib_logger: Logger.new(dev_null))
|
310
|
+
|
311
|
+
process.stderr = "output of stderr"
|
312
|
+
process.stdout = "output of stdout"
|
313
|
+
process.log_file = create_temp_file_with('process.log' , 'output of log file' )
|
314
|
+
process.return_code = "output of return code"
|
315
|
+
process.status = :failed
|
316
|
+
process.pid = 4711
|
317
|
+
process.reason_for_failure = 'great an error occured'
|
318
|
+
process.executable = '/usr/bin/true'
|
319
|
+
|
320
|
+
start_time = Time.now
|
321
|
+
end_time= start_time + 2.seconds
|
322
|
+
process.start_time = start_time
|
323
|
+
process.end_time = end_time
|
324
|
+
|
325
|
+
expect(process.to_xml).to eq("<command>\n <status>FAILED</status>\n <return_code>output of return code</return_code>\n <stderr>output of stderr</stderr>\n <stdout>output of stdout</stdout>\n <log_file>output of log file</log_file>\n <pid>4711</pid>\n <reason_for_failure>great an error occured</reason_for_failure>\n <executable>/usr/bin/true</executable>\n <start_time>#{start_time}</start_time>\n <end_time>#{end_time}</end_time>\n</command>\n")
|
326
|
+
end
|
327
|
+
|
328
|
+
end
|
329
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,21 +1,32 @@
|
|
1
1
|
#encoding: utf-8
|
2
|
+
|
2
3
|
$LOAD_PATH << File.expand_path('../lib' , File.dirname(__FILE__))
|
3
4
|
|
4
|
-
|
5
|
-
require '
|
5
|
+
unless ENV['TRAVIS_CI'] == 'true'
|
6
|
+
require 'pry'
|
7
|
+
require 'debugger'
|
8
|
+
require 'ap'
|
9
|
+
end
|
6
10
|
|
11
|
+
require 'stringio'
|
7
12
|
require 'tempfile'
|
8
13
|
|
9
|
-
|
10
|
-
|
14
|
+
unless ENV['TRAVIS_CI'] == 'true'
|
15
|
+
require 'simplecov'
|
16
|
+
SimpleCov.start
|
17
|
+
end
|
11
18
|
|
12
19
|
require 'command_exec'
|
13
20
|
require 'command_exec/spec_helper_module'
|
21
|
+
require 'active_support/core_ext/numeric/time'
|
14
22
|
|
15
23
|
include CommandExec
|
16
24
|
include CommandExec::Exceptions
|
17
25
|
|
18
26
|
RSpec.configure do |c|
|
19
27
|
c.include CommandExec::SpecHelper
|
28
|
+
c.treat_symbols_as_metadata_keys_with_true_values = true
|
29
|
+
c.filter_run_including :focus => true
|
20
30
|
end
|
21
31
|
|
32
|
+
#ENV['PATH'] = '/bin'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: command_exec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: smart_colored
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
@@ -28,7 +28,23 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
31
|
+
name: activesupport
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: xml-simple
|
32
48
|
requirement: !ruby/object:Gem::Requirement
|
33
49
|
none: false
|
34
50
|
requirements:
|
@@ -51,21 +67,58 @@ extensions: []
|
|
51
67
|
extra_rdoc_files: []
|
52
68
|
files:
|
53
69
|
- .gitignore
|
70
|
+
- .travis.yml
|
71
|
+
- .yardopts
|
54
72
|
- Gemfile
|
55
73
|
- Gemfile.lock
|
56
74
|
- Guardfile
|
57
75
|
- LICENSE.md
|
58
76
|
- README.md
|
77
|
+
- RELEASE_NOTES.md
|
59
78
|
- Rakefile
|
60
79
|
- TODO.md
|
61
80
|
- command_exec.gemspec
|
81
|
+
- gemfiles/Gemfile.default
|
82
|
+
- gemfiles/Gemfile.travis
|
83
|
+
- gemfiles/Gemfile.travis.lock
|
62
84
|
- lib/command_exec.rb
|
63
85
|
- lib/command_exec/command.rb
|
64
86
|
- lib/command_exec/exceptions.rb
|
87
|
+
- lib/command_exec/field_helper.rb
|
88
|
+
- lib/command_exec/formatter/array.rb
|
89
|
+
- lib/command_exec/formatter/hash.rb
|
90
|
+
- lib/command_exec/formatter/json.rb
|
91
|
+
- lib/command_exec/formatter/string.rb
|
92
|
+
- lib/command_exec/formatter/xml.rb
|
93
|
+
- lib/command_exec/formatter/yaml.rb
|
94
|
+
- lib/command_exec/logger.rb
|
95
|
+
- lib/command_exec/process.rb
|
65
96
|
- lib/command_exec/spec_helper_module.rb
|
66
97
|
- lib/command_exec/version.rb
|
98
|
+
- script/console
|
67
99
|
- script/terminal
|
68
100
|
- spec/command/command_spec.rb
|
101
|
+
- spec/command/test_data/echo_test
|
102
|
+
- spec/command/test_data/exit_status_test
|
103
|
+
- spec/command/test_data/log_file_test
|
104
|
+
- spec/command/test_data/logger_test
|
105
|
+
- spec/command/test_data/not_raise_error_test
|
106
|
+
- spec/command/test_data/not_throw_error_test
|
107
|
+
- spec/command/test_data/output_test
|
108
|
+
- spec/command/test_data/raise_error_test
|
109
|
+
- spec/command/test_data/runner_open3_test
|
110
|
+
- spec/command/test_data/runner_system_test
|
111
|
+
- spec/command/test_data/stderr_test
|
112
|
+
- spec/command/test_data/stdout_multiple_lines_test
|
113
|
+
- spec/command/test_data/stdout_test
|
114
|
+
- spec/command/test_data/throw_error_test
|
115
|
+
- spec/command/test_data/true_test
|
116
|
+
- spec/formatter/array_spec.rb
|
117
|
+
- spec/formatter/hash_spec.rb
|
118
|
+
- spec/formatter/json_spec.rb
|
119
|
+
- spec/formatter/xml_spec.rb
|
120
|
+
- spec/formatter/yaml_spec.rb
|
121
|
+
- spec/process/process_spec.rb
|
69
122
|
- spec/spec_helper.rb
|
70
123
|
homepage: ''
|
71
124
|
licenses: []
|
@@ -87,11 +140,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
140
|
version: '0'
|
88
141
|
requirements: []
|
89
142
|
rubyforge_project:
|
90
|
-
rubygems_version: 1.8.
|
143
|
+
rubygems_version: 1.8.23
|
91
144
|
signing_key:
|
92
145
|
specification_version: 3
|
93
146
|
summary: Helper gem to exectue arbitrary shell commands
|
94
147
|
test_files:
|
95
148
|
- spec/command/command_spec.rb
|
149
|
+
- spec/command/test_data/echo_test
|
150
|
+
- spec/command/test_data/exit_status_test
|
151
|
+
- spec/command/test_data/log_file_test
|
152
|
+
- spec/command/test_data/logger_test
|
153
|
+
- spec/command/test_data/not_raise_error_test
|
154
|
+
- spec/command/test_data/not_throw_error_test
|
155
|
+
- spec/command/test_data/output_test
|
156
|
+
- spec/command/test_data/raise_error_test
|
157
|
+
- spec/command/test_data/runner_open3_test
|
158
|
+
- spec/command/test_data/runner_system_test
|
159
|
+
- spec/command/test_data/stderr_test
|
160
|
+
- spec/command/test_data/stdout_multiple_lines_test
|
161
|
+
- spec/command/test_data/stdout_test
|
162
|
+
- spec/command/test_data/throw_error_test
|
163
|
+
- spec/command/test_data/true_test
|
164
|
+
- spec/formatter/array_spec.rb
|
165
|
+
- spec/formatter/hash_spec.rb
|
166
|
+
- spec/formatter/json_spec.rb
|
167
|
+
- spec/formatter/xml_spec.rb
|
168
|
+
- spec/formatter/yaml_spec.rb
|
169
|
+
- spec/process/process_spec.rb
|
96
170
|
- spec/spec_helper.rb
|
97
171
|
has_rdoc:
|