aruba 2.4.1 → 3.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +87 -7
- data/CONTRIBUTING.md +55 -33
- data/README.md +11 -9
- data/lib/aruba/api/bundler.rb +1 -5
- data/lib/aruba/api/commands.rb +29 -40
- data/lib/aruba/api/core.rb +2 -13
- data/lib/aruba/api/filesystem.rb +24 -44
- data/lib/aruba/api/text.rb +5 -2
- data/lib/aruba/aruba_logger.rb +3 -6
- data/lib/aruba/basic_configuration/option.rb +1 -7
- data/lib/aruba/basic_configuration.rb +7 -13
- data/lib/aruba/cli.rb +0 -6
- data/lib/aruba/command.rb +16 -16
- data/lib/aruba/command_monitor.rb +2 -4
- data/lib/aruba/configuration.rb +32 -20
- data/lib/aruba/cucumber/command.rb +32 -119
- data/lib/aruba/cucumber/environment.rb +0 -4
- data/lib/aruba/cucumber/file.rb +10 -10
- data/lib/aruba/cucumber/hooks.rb +12 -15
- data/lib/aruba/cucumber.rb +0 -1
- data/lib/aruba/events.rb +50 -14
- data/lib/aruba/generators/script_file.rb +5 -5
- data/lib/aruba/initializer.rb +7 -2
- data/lib/aruba/matchers/command/have_output.rb +1 -1
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +1 -1
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +1 -1
- data/lib/aruba/matchers/command/have_output_size.rb +7 -20
- data/lib/aruba/matchers/string/match_output_string.rb +0 -2
- data/lib/aruba/platforms/unix_platform.rb +3 -3
- data/lib/aruba/platforms/unix_which.rb +2 -4
- data/lib/aruba/platforms/windows_which.rb +2 -4
- data/lib/aruba/processes/basic_process.rb +4 -4
- data/lib/aruba/processes/debug_process.rb +2 -1
- data/lib/aruba/processes/in_process.rb +3 -1
- data/lib/aruba/processes/spawn_process.rb +32 -21
- data/lib/aruba/rspec.rb +18 -25
- data/lib/aruba/runtime.rb +39 -21
- data/lib/aruba/setup.rb +20 -21
- data/lib/aruba/version.rb +1 -1
- metadata +76 -63
- data/lib/aruba/console/help.rb +0 -34
- data/lib/aruba/console.rb +0 -67
- data/lib/aruba/contracts/absolute_path.rb +0 -22
- data/lib/aruba/contracts/enum.rb +0 -29
- data/lib/aruba/contracts/is_power_of_two.rb +0 -24
- data/lib/aruba/contracts/relative_path.rb +0 -22
- data/lib/aruba/cucumber/testing_frameworks.rb +0 -219
- data/lib/aruba/matchers/string/include_output_string.rb +0 -36
- data/lib/aruba/matchers/string/output_string_eq.rb +0 -35
data/lib/aruba/setup.rb
CHANGED
|
@@ -2,40 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
module Aruba
|
|
4
4
|
class Setup
|
|
5
|
-
private
|
|
6
|
-
|
|
7
|
-
attr_reader :runtime
|
|
8
|
-
|
|
9
|
-
public
|
|
10
|
-
|
|
11
5
|
def initialize(runtime)
|
|
12
6
|
@runtime = runtime
|
|
13
7
|
end
|
|
14
8
|
|
|
15
|
-
def
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
working_directory(clobber)
|
|
9
|
+
def setup
|
|
10
|
+
create_workspace
|
|
19
11
|
register_event_handlers
|
|
12
|
+
end
|
|
20
13
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
self
|
|
14
|
+
def teardown
|
|
15
|
+
destroy_workspace
|
|
24
16
|
end
|
|
25
17
|
|
|
18
|
+
attr_reader :workspace_directory
|
|
19
|
+
|
|
26
20
|
private
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Aruba.platform.mkdir
|
|
35
|
-
|
|
22
|
+
attr_reader :runtime
|
|
23
|
+
|
|
24
|
+
def create_workspace
|
|
25
|
+
workspace_base = File.join(runtime.config.root_directory, 'tmp')
|
|
26
|
+
prefix = "#{runtime.config.working_directory_suffix}-"
|
|
27
|
+
|
|
28
|
+
Aruba.platform.mkdir workspace_base
|
|
29
|
+
@workspace_directory = Dir.mktmpdir(prefix, workspace_base)
|
|
30
|
+
|
|
36
31
|
Aruba.platform.chdir runtime.config.root_directory
|
|
37
32
|
end
|
|
38
33
|
|
|
34
|
+
def destroy_workspace
|
|
35
|
+
Aruba.platform.rm workspace_directory, force: true
|
|
36
|
+
end
|
|
37
|
+
|
|
39
38
|
def handle_command_started(event)
|
|
40
39
|
runtime.announcer.announce(:command) { event.entity.commandline }
|
|
41
40
|
runtime.announcer.announce(:timeout, 'exit') { event.entity.exit_timeout }
|
data/lib/aruba/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aruba
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aslak Hellesøy, Matt Wynne and other Aruba Contributors
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 2.20.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
25
|
+
version: 2.20.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: contracts
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -44,39 +44,45 @@ dependencies:
|
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
45
|
version: 0.18.0
|
|
46
46
|
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: cucumber
|
|
47
|
+
name: cucumber-core
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
|
49
49
|
requirements:
|
|
50
50
|
- - ">="
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
|
-
version: '
|
|
52
|
+
version: '16.0'
|
|
53
53
|
- - "<"
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
|
-
version: '
|
|
55
|
+
version: '21.0'
|
|
56
56
|
type: :runtime
|
|
57
57
|
prerelease: false
|
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
|
59
59
|
requirements:
|
|
60
60
|
- - ">="
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '
|
|
62
|
+
version: '16.0'
|
|
63
63
|
- - "<"
|
|
64
64
|
- !ruby/object:Gem::Version
|
|
65
|
-
version: '
|
|
65
|
+
version: '21.0'
|
|
66
66
|
- !ruby/object:Gem::Dependency
|
|
67
|
-
name:
|
|
67
|
+
name: marcel
|
|
68
68
|
requirement: !ruby/object:Gem::Requirement
|
|
69
69
|
requirements:
|
|
70
|
-
- - "
|
|
70
|
+
- - ">="
|
|
71
71
|
- !ruby/object:Gem::Version
|
|
72
|
-
version: '1.
|
|
72
|
+
version: '1.2'
|
|
73
|
+
- - "<"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '3.0'
|
|
73
76
|
type: :runtime
|
|
74
77
|
prerelease: false
|
|
75
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
76
79
|
requirements:
|
|
77
|
-
- - "
|
|
80
|
+
- - ">="
|
|
78
81
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '1.
|
|
82
|
+
version: '1.2'
|
|
83
|
+
- - "<"
|
|
84
|
+
- !ruby/object:Gem::Version
|
|
85
|
+
version: '3.0'
|
|
80
86
|
- !ruby/object:Gem::Dependency
|
|
81
87
|
name: rspec-expectations
|
|
82
88
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -97,6 +103,20 @@ dependencies:
|
|
|
97
103
|
- - "<"
|
|
98
104
|
- !ruby/object:Gem::Version
|
|
99
105
|
version: '5.0'
|
|
106
|
+
- !ruby/object:Gem::Dependency
|
|
107
|
+
name: tempfile
|
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
|
109
|
+
requirements:
|
|
110
|
+
- - "~>"
|
|
111
|
+
- !ruby/object:Gem::Version
|
|
112
|
+
version: 0.3.1
|
|
113
|
+
type: :runtime
|
|
114
|
+
prerelease: false
|
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - "~>"
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: 0.3.1
|
|
100
120
|
- !ruby/object:Gem::Dependency
|
|
101
121
|
name: thor
|
|
102
122
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -125,6 +145,26 @@ dependencies:
|
|
|
125
145
|
- - "~>"
|
|
126
146
|
- !ruby/object:Gem::Version
|
|
127
147
|
version: '2.4'
|
|
148
|
+
- !ruby/object:Gem::Dependency
|
|
149
|
+
name: cucumber
|
|
150
|
+
requirement: !ruby/object:Gem::Requirement
|
|
151
|
+
requirements:
|
|
152
|
+
- - ">="
|
|
153
|
+
- !ruby/object:Gem::Version
|
|
154
|
+
version: '11.0'
|
|
155
|
+
- - "<"
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '13.0'
|
|
158
|
+
type: :development
|
|
159
|
+
prerelease: false
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - ">="
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '11.0'
|
|
165
|
+
- - "<"
|
|
166
|
+
- !ruby/object:Gem::Version
|
|
167
|
+
version: '13.0'
|
|
128
168
|
- !ruby/object:Gem::Dependency
|
|
129
169
|
name: diff-lcs
|
|
130
170
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -140,19 +180,19 @@ dependencies:
|
|
|
140
180
|
- !ruby/object:Gem::Version
|
|
141
181
|
version: '1.6'
|
|
142
182
|
- !ruby/object:Gem::Dependency
|
|
143
|
-
name:
|
|
183
|
+
name: irb
|
|
144
184
|
requirement: !ruby/object:Gem::Requirement
|
|
145
185
|
requirements:
|
|
146
186
|
- - "~>"
|
|
147
187
|
- !ruby/object:Gem::Version
|
|
148
|
-
version: '
|
|
188
|
+
version: '1.16'
|
|
149
189
|
type: :development
|
|
150
190
|
prerelease: false
|
|
151
191
|
version_requirements: !ruby/object:Gem::Requirement
|
|
152
192
|
requirements:
|
|
153
193
|
- - "~>"
|
|
154
194
|
- !ruby/object:Gem::Version
|
|
155
|
-
version: '
|
|
195
|
+
version: '1.16'
|
|
156
196
|
- !ruby/object:Gem::Dependency
|
|
157
197
|
name: kramdown
|
|
158
198
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -171,42 +211,30 @@ dependencies:
|
|
|
171
211
|
name: minitest
|
|
172
212
|
requirement: !ruby/object:Gem::Requirement
|
|
173
213
|
requirements:
|
|
174
|
-
- - "
|
|
175
|
-
- !ruby/object:Gem::Version
|
|
176
|
-
version: '5.26'
|
|
177
|
-
- - "<"
|
|
214
|
+
- - "~>"
|
|
178
215
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '
|
|
216
|
+
version: '6.0'
|
|
180
217
|
type: :development
|
|
181
218
|
prerelease: false
|
|
182
219
|
version_requirements: !ruby/object:Gem::Requirement
|
|
183
220
|
requirements:
|
|
184
|
-
- - "
|
|
185
|
-
- !ruby/object:Gem::Version
|
|
186
|
-
version: '5.26'
|
|
187
|
-
- - "<"
|
|
221
|
+
- - "~>"
|
|
188
222
|
- !ruby/object:Gem::Version
|
|
189
|
-
version: '
|
|
223
|
+
version: '6.0'
|
|
190
224
|
- !ruby/object:Gem::Dependency
|
|
191
225
|
name: rake
|
|
192
226
|
requirement: !ruby/object:Gem::Requirement
|
|
193
227
|
requirements:
|
|
194
|
-
- - "
|
|
195
|
-
- !ruby/object:Gem::Version
|
|
196
|
-
version: '12.0'
|
|
197
|
-
- - "<"
|
|
228
|
+
- - "~>"
|
|
198
229
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: '
|
|
230
|
+
version: '13.0'
|
|
200
231
|
type: :development
|
|
201
232
|
prerelease: false
|
|
202
233
|
version_requirements: !ruby/object:Gem::Requirement
|
|
203
234
|
requirements:
|
|
204
|
-
- - "
|
|
205
|
-
- !ruby/object:Gem::Version
|
|
206
|
-
version: '12.0'
|
|
207
|
-
- - "<"
|
|
235
|
+
- - "~>"
|
|
208
236
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: '
|
|
237
|
+
version: '13.0'
|
|
210
238
|
- !ruby/object:Gem::Dependency
|
|
211
239
|
name: rake-manifest
|
|
212
240
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -247,14 +275,14 @@ dependencies:
|
|
|
247
275
|
requirements:
|
|
248
276
|
- - "~>"
|
|
249
277
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: '1.
|
|
278
|
+
version: '1.92'
|
|
251
279
|
type: :development
|
|
252
280
|
prerelease: false
|
|
253
281
|
version_requirements: !ruby/object:Gem::Requirement
|
|
254
282
|
requirements:
|
|
255
283
|
- - "~>"
|
|
256
284
|
- !ruby/object:Gem::Version
|
|
257
|
-
version: '1.
|
|
285
|
+
version: '1.92'
|
|
258
286
|
- !ruby/object:Gem::Dependency
|
|
259
287
|
name: rubocop-packaging
|
|
260
288
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -275,48 +303,42 @@ dependencies:
|
|
|
275
303
|
requirements:
|
|
276
304
|
- - "~>"
|
|
277
305
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: '1.
|
|
306
|
+
version: '1.27'
|
|
279
307
|
type: :development
|
|
280
308
|
prerelease: false
|
|
281
309
|
version_requirements: !ruby/object:Gem::Requirement
|
|
282
310
|
requirements:
|
|
283
311
|
- - "~>"
|
|
284
312
|
- !ruby/object:Gem::Version
|
|
285
|
-
version: '1.
|
|
313
|
+
version: '1.27'
|
|
286
314
|
- !ruby/object:Gem::Dependency
|
|
287
315
|
name: rubocop-rspec
|
|
288
316
|
requirement: !ruby/object:Gem::Requirement
|
|
289
317
|
requirements:
|
|
290
318
|
- - "~>"
|
|
291
319
|
- !ruby/object:Gem::Version
|
|
292
|
-
version: '3.
|
|
320
|
+
version: '3.10'
|
|
293
321
|
type: :development
|
|
294
322
|
prerelease: false
|
|
295
323
|
version_requirements: !ruby/object:Gem::Requirement
|
|
296
324
|
requirements:
|
|
297
325
|
- - "~>"
|
|
298
326
|
- !ruby/object:Gem::Version
|
|
299
|
-
version: '3.
|
|
327
|
+
version: '3.10'
|
|
300
328
|
- !ruby/object:Gem::Dependency
|
|
301
329
|
name: simplecov
|
|
302
330
|
requirement: !ruby/object:Gem::Requirement
|
|
303
331
|
requirements:
|
|
304
|
-
- - "
|
|
305
|
-
- !ruby/object:Gem::Version
|
|
306
|
-
version: 0.18.0
|
|
307
|
-
- - "<"
|
|
332
|
+
- - "~>"
|
|
308
333
|
- !ruby/object:Gem::Version
|
|
309
|
-
version:
|
|
334
|
+
version: '1.1'
|
|
310
335
|
type: :development
|
|
311
336
|
prerelease: false
|
|
312
337
|
version_requirements: !ruby/object:Gem::Requirement
|
|
313
338
|
requirements:
|
|
314
|
-
- - "
|
|
315
|
-
- !ruby/object:Gem::Version
|
|
316
|
-
version: 0.18.0
|
|
317
|
-
- - "<"
|
|
339
|
+
- - "~>"
|
|
318
340
|
- !ruby/object:Gem::Version
|
|
319
|
-
version:
|
|
341
|
+
version: '1.1'
|
|
320
342
|
description: |
|
|
321
343
|
Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest",
|
|
322
344
|
to make testing command line applications meaningful, easy and fun.
|
|
@@ -354,19 +376,12 @@ files:
|
|
|
354
376
|
- lib/aruba/config/jruby.rb
|
|
355
377
|
- lib/aruba/config_wrapper.rb
|
|
356
378
|
- lib/aruba/configuration.rb
|
|
357
|
-
- lib/aruba/console.rb
|
|
358
|
-
- lib/aruba/console/help.rb
|
|
359
|
-
- lib/aruba/contracts/absolute_path.rb
|
|
360
|
-
- lib/aruba/contracts/enum.rb
|
|
361
|
-
- lib/aruba/contracts/is_power_of_two.rb
|
|
362
|
-
- lib/aruba/contracts/relative_path.rb
|
|
363
379
|
- lib/aruba/cucumber.rb
|
|
364
380
|
- lib/aruba/cucumber/command.rb
|
|
365
381
|
- lib/aruba/cucumber/environment.rb
|
|
366
382
|
- lib/aruba/cucumber/file.rb
|
|
367
383
|
- lib/aruba/cucumber/hooks.rb
|
|
368
384
|
- lib/aruba/cucumber/parameter_types.rb
|
|
369
|
-
- lib/aruba/cucumber/testing_frameworks.rb
|
|
370
385
|
- lib/aruba/errors.rb
|
|
371
386
|
- lib/aruba/event_bus.rb
|
|
372
387
|
- lib/aruba/events.rb
|
|
@@ -401,9 +416,7 @@ files:
|
|
|
401
416
|
- lib/aruba/matchers/path/be_an_existing_path.rb
|
|
402
417
|
- lib/aruba/matchers/path/have_permissions.rb
|
|
403
418
|
- lib/aruba/matchers/string.rb
|
|
404
|
-
- lib/aruba/matchers/string/include_output_string.rb
|
|
405
419
|
- lib/aruba/matchers/string/match_output_string.rb
|
|
406
|
-
- lib/aruba/matchers/string/output_string_eq.rb
|
|
407
420
|
- lib/aruba/platform.rb
|
|
408
421
|
- lib/aruba/platforms/announcer.rb
|
|
409
422
|
- lib/aruba/platforms/aruba_file_creator.rb
|
|
@@ -449,14 +462,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
449
462
|
requirements:
|
|
450
463
|
- - ">="
|
|
451
464
|
- !ruby/object:Gem::Version
|
|
452
|
-
version: 3.
|
|
465
|
+
version: 3.2.0
|
|
453
466
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
454
467
|
requirements:
|
|
455
468
|
- - ">="
|
|
456
469
|
- !ruby/object:Gem::Version
|
|
457
470
|
version: '0'
|
|
458
471
|
requirements: []
|
|
459
|
-
rubygems_version: 4.0.
|
|
472
|
+
rubygems_version: 4.0.16
|
|
460
473
|
specification_version: 4
|
|
461
474
|
summary: Test command line applications with Cucumber, RSpec or Minitest
|
|
462
475
|
test_files: []
|
data/lib/aruba/console/help.rb
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/api'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Consule
|
|
8
|
-
class Console
|
|
9
|
-
# Helpers for Aruba::Console
|
|
10
|
-
module Help
|
|
11
|
-
# Output help information
|
|
12
|
-
def aruba_help
|
|
13
|
-
puts "Aruba Version: #{Aruba::VERSION}"
|
|
14
|
-
puts 'Issue Tracker: https://github.com/cucumber/aruba/issues'
|
|
15
|
-
puts 'Documentation:'
|
|
16
|
-
puts '* http://www.rubydoc.info/gems/aruba'
|
|
17
|
-
puts
|
|
18
|
-
|
|
19
|
-
nil
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# List available methods in aruba
|
|
23
|
-
def aruba_methods
|
|
24
|
-
ms = (Aruba::Api.instance_methods - Module.instance_methods)
|
|
25
|
-
.each_with_object([]) { |e, a| a << format('* %s', e) }
|
|
26
|
-
.sort
|
|
27
|
-
|
|
28
|
-
puts "Available Methods:\n#{ms.join("\n")}"
|
|
29
|
-
|
|
30
|
-
nil
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
data/lib/aruba/console.rb
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'irb'
|
|
4
|
-
|
|
5
|
-
require 'aruba/api'
|
|
6
|
-
require 'aruba/console/help'
|
|
7
|
-
|
|
8
|
-
# Aruba
|
|
9
|
-
module Aruba
|
|
10
|
-
# Consule
|
|
11
|
-
class Console
|
|
12
|
-
# Start the aruba console
|
|
13
|
-
#
|
|
14
|
-
def start
|
|
15
|
-
# Start IRB with current context:
|
|
16
|
-
# http://stackoverflow.com/questions/4189818/how-to-run-irb-start-in-context-of-current-class
|
|
17
|
-
ARGV.clear
|
|
18
|
-
IRB.setup nil
|
|
19
|
-
|
|
20
|
-
IRB.conf[:IRB_NAME] = 'aruba'
|
|
21
|
-
|
|
22
|
-
IRB.conf[:PROMPT] = {}
|
|
23
|
-
IRB.conf[:PROMPT][:ARUBA] = {
|
|
24
|
-
PROMPT_I: '%N:%03n:%i> ',
|
|
25
|
-
PROMPT_S: '%N:%03n:%i%l ',
|
|
26
|
-
PROMPT_C: '%N:%03n:%i* ',
|
|
27
|
-
RETURN: "# => %s\n"
|
|
28
|
-
}
|
|
29
|
-
IRB.conf[:PROMPT_MODE] = :ARUBA
|
|
30
|
-
|
|
31
|
-
IRB.conf[:RC] = false
|
|
32
|
-
|
|
33
|
-
require 'irb/completion'
|
|
34
|
-
IRB.conf[:READLINE] = true
|
|
35
|
-
IRB.conf[:SAVE_HISTORY] = 1000
|
|
36
|
-
IRB.conf[:HISTORY_FILE] = Aruba.config.console_history_file
|
|
37
|
-
|
|
38
|
-
context = Class.new do
|
|
39
|
-
include Aruba::Api
|
|
40
|
-
include Aruba::Console::Help
|
|
41
|
-
|
|
42
|
-
def initialize
|
|
43
|
-
setup_aruba
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def inspect
|
|
47
|
-
'aruba console'
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
irb = IRB::Irb.new(IRB::WorkSpace.new(context.new))
|
|
52
|
-
IRB.conf[:MAIN_CONTEXT] = irb.context
|
|
53
|
-
|
|
54
|
-
trap('SIGINT') do
|
|
55
|
-
irb.signal_handle
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
begin
|
|
59
|
-
catch(:IRB_EXIT) do
|
|
60
|
-
irb.eval_input
|
|
61
|
-
end
|
|
62
|
-
ensure
|
|
63
|
-
IRB.irb_at_exit
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/platform'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Check if path is absolute
|
|
10
|
-
class AbsolutePath
|
|
11
|
-
# Check
|
|
12
|
-
#
|
|
13
|
-
# @param [Object] value
|
|
14
|
-
# The value to be checked
|
|
15
|
-
def self.valid?(value)
|
|
16
|
-
Aruba.platform.absolute_path? value
|
|
17
|
-
rescue StandardError
|
|
18
|
-
false
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
data/lib/aruba/contracts/enum.rb
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'contracts'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Enum
|
|
10
|
-
class Enum < ::Contracts::CallableClass
|
|
11
|
-
private
|
|
12
|
-
|
|
13
|
-
attr_reader :vals
|
|
14
|
-
|
|
15
|
-
public
|
|
16
|
-
|
|
17
|
-
# Create contract
|
|
18
|
-
def initialize(*vals)
|
|
19
|
-
super()
|
|
20
|
-
@vals = vals
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Check if value is part of array
|
|
24
|
-
def valid?(val)
|
|
25
|
-
vals.include? val
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/aruba_path'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Is value power of two
|
|
10
|
-
class IsPowerOfTwo
|
|
11
|
-
# Check value
|
|
12
|
-
#
|
|
13
|
-
# @param [Integer] value
|
|
14
|
-
# The value to be checked
|
|
15
|
-
def self.valid?(value)
|
|
16
|
-
# explanation for algorithm can be found here:
|
|
17
|
-
# http://www.exploringbinary.com/ten-ways-to-check-if-an-integer-is-a-power-of-two-in-c/
|
|
18
|
-
value.positive? && value.nobits?(value - 1)
|
|
19
|
-
rescue StandardError
|
|
20
|
-
false
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/platform'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Is value relative path
|
|
10
|
-
class RelativePath
|
|
11
|
-
# Check
|
|
12
|
-
#
|
|
13
|
-
# @param [String] value
|
|
14
|
-
# The path to be checked
|
|
15
|
-
def self.valid?(value)
|
|
16
|
-
Aruba.platform.relative_path? value
|
|
17
|
-
rescue StandardError
|
|
18
|
-
false
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|