vedeu 0.0.39 → 0.0.40
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/README.md +0 -30
- data/Rakefile +8 -9
- data/bin/log +13 -0
- data/deps.md +11 -95
- data/lib/vedeu.rb +14 -46
- data/lib/vedeu/application.rb +4 -8
- data/lib/vedeu/instrumentation.rb +111 -0
- data/lib/vedeu/launcher.rb +2 -2
- data/lib/vedeu/models/attributes/interface_collection.rb +2 -2
- data/lib/vedeu/models/attributes/line_collection.rb +2 -2
- data/lib/vedeu/models/attributes/stream_collection.rb +2 -2
- data/lib/vedeu/models/colour.rb +1 -1
- data/lib/vedeu/models/composition.rb +1 -1
- data/lib/vedeu/models/interface.rb +18 -10
- data/lib/vedeu/models/line.rb +3 -3
- data/lib/vedeu/models/presentation.rb +1 -1
- data/lib/vedeu/models/stream.rb +2 -2
- data/lib/vedeu/models/style.rb +1 -1
- data/lib/vedeu/output/render_interface.rb +1 -1
- data/lib/vedeu/{support → parsing}/compositor.rb +1 -1
- data/lib/vedeu/parsing/hash_parser.rb +1 -1
- data/lib/vedeu/parsing/parser.rb +6 -10
- data/lib/vedeu/{models/builders → support}/builder.rb +19 -9
- data/lib/vedeu/support/esc.rb +1 -1
- data/lib/vedeu/support/events.rb +15 -19
- data/lib/vedeu/support/geometry.rb +3 -3
- data/lib/vedeu/{input → support}/input.rb +6 -9
- data/lib/vedeu/support/menu.rb +3 -3
- data/lib/vedeu/support/persistence.rb +41 -0
- data/lib/vedeu/support/terminal.rb +1 -1
- data/test/example_app/lib/app.rb +85 -5
- data/test/lib/vedeu/application_test.rb +2 -2
- data/test/lib/vedeu/configuration_test.rb +2 -2
- data/test/lib/vedeu/launcher_test.rb +2 -2
- data/test/lib/vedeu/models/attributes/collection_test.rb +2 -2
- data/test/lib/vedeu/models/attributes/interface_collection_test.rb +4 -4
- data/test/lib/vedeu/models/attributes/line_collection_test.rb +3 -3
- data/test/lib/vedeu/models/attributes/stream_collection_test.rb +3 -3
- data/test/lib/vedeu/models/colour_test.rb +2 -2
- data/test/lib/vedeu/models/composition_test.rb +19 -19
- data/test/lib/vedeu/models/interface_test.rb +46 -34
- data/test/lib/vedeu/models/line_test.rb +2 -2
- data/test/lib/vedeu/models/presentation_test.rb +2 -2
- data/test/lib/vedeu/models/stream_test.rb +2 -2
- data/test/lib/vedeu/models/style_test.rb +31 -31
- data/test/lib/vedeu/output/clear_interface_test.rb +5 -5
- data/test/lib/vedeu/output/render_interface_test.rb +5 -6
- data/test/lib/vedeu/output/template.rb +2 -1
- data/test/lib/vedeu/{support → parsing}/compositor_test.rb +6 -4
- data/test/lib/vedeu/parsing/hash_parser_test.rb +2 -2
- data/test/lib/vedeu/parsing/json_parser_test.rb +2 -2
- data/test/lib/vedeu/parsing/parser_test.rb +6 -5
- data/test/lib/vedeu/parsing/text_adaptor_test.rb +2 -2
- data/test/lib/vedeu/{models/builders/interface_builder_test.rb → support/builder_test.rb} +10 -10
- data/test/lib/vedeu/support/esc_test.rb +2 -2
- data/test/lib/vedeu/support/events_test.rb +2 -2
- data/test/lib/vedeu/support/geometry_test.rb +2 -2
- data/test/lib/vedeu/{input → support}/input_test.rb +6 -7
- data/test/lib/vedeu/support/menu_test.rb +2 -2
- data/test/lib/vedeu/support/persistence_test.rb +55 -0
- data/test/lib/vedeu/support/queue_test.rb +2 -2
- data/test/lib/vedeu/support/terminal_test.rb +2 -2
- data/test/lib/vedeu/support/translator_test.rb +2 -2
- data/test/lib/vedeu/support/wordwrap_test.rb +2 -2
- data/test/lib/vedeu_test.rb +17 -2
- data/test/support/bench.rb +34 -0
- data/test/test_helper.rb +3 -11
- data/vedeu.gemspec +2 -2
- metadata +20 -44
- data/lib/vedeu/models/builders/command_builder.rb +0 -10
- data/lib/vedeu/models/builders/interface_builder.rb +0 -32
- data/lib/vedeu/models/command.rb +0 -23
- data/lib/vedeu/output/output.rb +0 -14
- data/lib/vedeu/process/process.rb +0 -51
- data/lib/vedeu/repository/command_repository.rb +0 -31
- data/lib/vedeu/repository/interface_repository.rb +0 -31
- data/lib/vedeu/repository/repository.rb +0 -41
- data/lib/vedeu/repository/storage.rb +0 -40
- data/lib/vedeu/support/exit.rb +0 -9
- data/test/lib/vedeu/models/builders/builder_test.rb +0 -11
- data/test/lib/vedeu/models/builders/command_builder_test.rb +0 -16
- data/test/lib/vedeu/models/command_test.rb +0 -40
- data/test/lib/vedeu/output/output_test.rb +0 -19
- data/test/lib/vedeu/process/process_test.rb +0 -71
- data/test/lib/vedeu/repository/command_repository_test.rb +0 -55
- data/test/lib/vedeu/repository/interface_repository_test.rb +0 -67
- data/test/lib/vedeu/repository/repository_test.rb +0 -81
- data/test/lib/vedeu/repository/storage_test.rb +0 -70
- data/test/lib/vedeu/support/exit_test.rb +0 -12
- data/test/support/dummy_command.rb +0 -9
data/test/lib/vedeu_test.rb
CHANGED
@@ -1,5 +1,20 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require 'test_helper'
|
2
|
+
require 'vedeu'
|
3
|
+
|
4
|
+
module Vedeu
|
5
|
+
describe ClassMethods do
|
6
|
+
describe '.interface' do
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '.event' do
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '.run' do
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
3
16
|
|
4
17
|
describe Vedeu do
|
18
|
+
describe '.events' do
|
19
|
+
end
|
5
20
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'benchmark'
|
2
|
+
|
3
|
+
class Foo
|
4
|
+
def bar(a, b)
|
5
|
+
a + b
|
6
|
+
end
|
7
|
+
|
8
|
+
def baz
|
9
|
+
a + b
|
10
|
+
end
|
11
|
+
|
12
|
+
def a
|
13
|
+
rand(1000_000)
|
14
|
+
end
|
15
|
+
|
16
|
+
def b
|
17
|
+
rand(1000_000)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
foo = Foo.new
|
22
|
+
|
23
|
+
Benchmark.bm 30 do |x|
|
24
|
+
x.report 'original method' do
|
25
|
+
1000000.times do |_|
|
26
|
+
foo.bar(rand(1_000_000), rand(1_000_000))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
x.report 'shiny new method' do
|
30
|
+
1000000.times do |_|
|
31
|
+
foo.baz
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -18,14 +18,6 @@ GC.disable
|
|
18
18
|
# Minitest::Reporters::SpecReporter.new
|
19
19
|
# )
|
20
20
|
|
21
|
-
# trace method execution with local variables
|
22
|
-
#
|
23
|
-
#
|
24
|
-
# set_trace_func proc { |event, file, line, id, binding, classname|
|
25
|
-
# if event == my_event && classname.to_s.match(my_class)
|
26
|
-
# printf("\e[38;5;#{rand(22..231)}m%s %s #%s\e[38;2;39m\n", event, classname, id)
|
27
|
-
# binding.eval('local_variables').each do |var|
|
28
|
-
# print("#{var.to_s} = #{binding.local_variable_get(var).inspect}\n")
|
29
|
-
# end
|
30
|
-
# end
|
31
|
-
# }
|
21
|
+
# trace method execution with (optionally) local variables
|
22
|
+
# require 'vedeu/instrumentation'
|
23
|
+
# Vedeu::Instrumentation::Trace.call({ watched: 'call', klass: /^Vedeu/ })
|
data/vedeu.gemspec
CHANGED
@@ -4,11 +4,11 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'vedeu'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.40'
|
8
8
|
spec.authors = ['Gavin Laking']
|
9
9
|
spec.email = ['gavinlaking@gmail.com']
|
10
10
|
spec.summary = %q{A terminal case of wonderland.}
|
11
|
-
spec.homepage = '
|
11
|
+
spec.homepage = 'https://github.com/gavinlaking/vedeu'
|
12
12
|
spec.license = 'MIT'
|
13
13
|
|
14
14
|
spec.files = `git ls-files -z`.split("\x0")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vedeu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.40
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -154,6 +154,7 @@ description:
|
|
154
154
|
email:
|
155
155
|
- gavinlaking@gmail.com
|
156
156
|
executables:
|
157
|
+
- log
|
157
158
|
- vedeu
|
158
159
|
extensions: []
|
159
160
|
extra_rdoc_files: []
|
@@ -166,22 +167,19 @@ files:
|
|
166
167
|
- LICENSE.txt
|
167
168
|
- README.md
|
168
169
|
- Rakefile
|
170
|
+
- bin/log
|
169
171
|
- bin/vedeu
|
170
172
|
- deps.md
|
171
173
|
- lib/vedeu.rb
|
172
174
|
- lib/vedeu/application.rb
|
173
175
|
- lib/vedeu/configuration.rb
|
174
|
-
- lib/vedeu/
|
176
|
+
- lib/vedeu/instrumentation.rb
|
175
177
|
- lib/vedeu/launcher.rb
|
176
178
|
- lib/vedeu/models/attributes/collection.rb
|
177
179
|
- lib/vedeu/models/attributes/interface_collection.rb
|
178
180
|
- lib/vedeu/models/attributes/line_collection.rb
|
179
181
|
- lib/vedeu/models/attributes/stream_collection.rb
|
180
|
-
- lib/vedeu/models/builders/builder.rb
|
181
|
-
- lib/vedeu/models/builders/command_builder.rb
|
182
|
-
- lib/vedeu/models/builders/interface_builder.rb
|
183
182
|
- lib/vedeu/models/colour.rb
|
184
|
-
- lib/vedeu/models/command.rb
|
185
183
|
- lib/vedeu/models/composition.rb
|
186
184
|
- lib/vedeu/models/interface.rb
|
187
185
|
- lib/vedeu/models/line.rb
|
@@ -189,24 +187,20 @@ files:
|
|
189
187
|
- lib/vedeu/models/stream.rb
|
190
188
|
- lib/vedeu/models/style.rb
|
191
189
|
- lib/vedeu/output/clear_interface.rb
|
192
|
-
- lib/vedeu/output/output.rb
|
193
190
|
- lib/vedeu/output/render_interface.rb
|
194
191
|
- lib/vedeu/output/template.rb
|
192
|
+
- lib/vedeu/parsing/compositor.rb
|
195
193
|
- lib/vedeu/parsing/hash_parser.rb
|
196
194
|
- lib/vedeu/parsing/json_parser.rb
|
197
195
|
- lib/vedeu/parsing/parser.rb
|
198
196
|
- lib/vedeu/parsing/text_adaptor.rb
|
199
|
-
- lib/vedeu/
|
200
|
-
- lib/vedeu/repository/command_repository.rb
|
201
|
-
- lib/vedeu/repository/interface_repository.rb
|
202
|
-
- lib/vedeu/repository/repository.rb
|
203
|
-
- lib/vedeu/repository/storage.rb
|
204
|
-
- lib/vedeu/support/compositor.rb
|
197
|
+
- lib/vedeu/support/builder.rb
|
205
198
|
- lib/vedeu/support/esc.rb
|
206
199
|
- lib/vedeu/support/events.rb
|
207
|
-
- lib/vedeu/support/exit.rb
|
208
200
|
- lib/vedeu/support/geometry.rb
|
201
|
+
- lib/vedeu/support/input.rb
|
209
202
|
- lib/vedeu/support/menu.rb
|
203
|
+
- lib/vedeu/support/persistence.rb
|
210
204
|
- lib/vedeu/support/queue.rb
|
211
205
|
- lib/vedeu/support/terminal.rb
|
212
206
|
- lib/vedeu/support/translator.rb
|
@@ -216,17 +210,12 @@ files:
|
|
216
210
|
- test/example_app/lib/app.rb
|
217
211
|
- test/lib/vedeu/application_test.rb
|
218
212
|
- test/lib/vedeu/configuration_test.rb
|
219
|
-
- test/lib/vedeu/input/input_test.rb
|
220
213
|
- test/lib/vedeu/launcher_test.rb
|
221
214
|
- test/lib/vedeu/models/attributes/collection_test.rb
|
222
215
|
- test/lib/vedeu/models/attributes/interface_collection_test.rb
|
223
216
|
- test/lib/vedeu/models/attributes/line_collection_test.rb
|
224
217
|
- test/lib/vedeu/models/attributes/stream_collection_test.rb
|
225
|
-
- test/lib/vedeu/models/builders/builder_test.rb
|
226
|
-
- test/lib/vedeu/models/builders/command_builder_test.rb
|
227
|
-
- test/lib/vedeu/models/builders/interface_builder_test.rb
|
228
218
|
- test/lib/vedeu/models/colour_test.rb
|
229
|
-
- test/lib/vedeu/models/command_test.rb
|
230
219
|
- test/lib/vedeu/models/composition_test.rb
|
231
220
|
- test/lib/vedeu/models/interface_test.rb
|
232
221
|
- test/lib/vedeu/models/line_test.rb
|
@@ -234,32 +223,28 @@ files:
|
|
234
223
|
- test/lib/vedeu/models/stream_test.rb
|
235
224
|
- test/lib/vedeu/models/style_test.rb
|
236
225
|
- test/lib/vedeu/output/clear_interface_test.rb
|
237
|
-
- test/lib/vedeu/output/output_test.rb
|
238
226
|
- test/lib/vedeu/output/render_interface_test.rb
|
239
227
|
- test/lib/vedeu/output/template.rb
|
228
|
+
- test/lib/vedeu/parsing/compositor_test.rb
|
240
229
|
- test/lib/vedeu/parsing/hash_parser_test.rb
|
241
230
|
- test/lib/vedeu/parsing/json_parser_test.rb
|
242
231
|
- test/lib/vedeu/parsing/parser_test.rb
|
243
232
|
- test/lib/vedeu/parsing/text_adaptor_test.rb
|
244
|
-
- test/lib/vedeu/
|
245
|
-
- test/lib/vedeu/repository/command_repository_test.rb
|
246
|
-
- test/lib/vedeu/repository/interface_repository_test.rb
|
247
|
-
- test/lib/vedeu/repository/repository_test.rb
|
248
|
-
- test/lib/vedeu/repository/storage_test.rb
|
249
|
-
- test/lib/vedeu/support/compositor_test.rb
|
233
|
+
- test/lib/vedeu/support/builder_test.rb
|
250
234
|
- test/lib/vedeu/support/esc_test.rb
|
251
235
|
- test/lib/vedeu/support/events_test.rb
|
252
|
-
- test/lib/vedeu/support/exit_test.rb
|
253
236
|
- test/lib/vedeu/support/geometry_test.rb
|
237
|
+
- test/lib/vedeu/support/input_test.rb
|
254
238
|
- test/lib/vedeu/support/menu_test.rb
|
239
|
+
- test/lib/vedeu/support/persistence_test.rb
|
255
240
|
- test/lib/vedeu/support/queue_test.rb
|
256
241
|
- test/lib/vedeu/support/terminal_test.rb
|
257
242
|
- test/lib/vedeu/support/translator_test.rb
|
258
243
|
- test/lib/vedeu/support/wordwrap_test.rb
|
259
244
|
- test/lib/vedeu_test.rb
|
260
245
|
- test/stats.sh
|
246
|
+
- test/support/bench.rb
|
261
247
|
- test/support/colours.rb
|
262
|
-
- test/support/dummy_command.rb
|
263
248
|
- test/support/dummy_interface.rb
|
264
249
|
- test/support/json/int1_lin1_str1.json
|
265
250
|
- test/support/json/int1_lin1_str3.json
|
@@ -274,7 +259,7 @@ files:
|
|
274
259
|
- test/support/template.erb
|
275
260
|
- test/test_helper.rb
|
276
261
|
- vedeu.gemspec
|
277
|
-
homepage:
|
262
|
+
homepage: https://github.com/gavinlaking/vedeu
|
278
263
|
licenses:
|
279
264
|
- MIT
|
280
265
|
metadata: {}
|
@@ -303,17 +288,12 @@ test_files:
|
|
303
288
|
- test/example_app/lib/app.rb
|
304
289
|
- test/lib/vedeu/application_test.rb
|
305
290
|
- test/lib/vedeu/configuration_test.rb
|
306
|
-
- test/lib/vedeu/input/input_test.rb
|
307
291
|
- test/lib/vedeu/launcher_test.rb
|
308
292
|
- test/lib/vedeu/models/attributes/collection_test.rb
|
309
293
|
- test/lib/vedeu/models/attributes/interface_collection_test.rb
|
310
294
|
- test/lib/vedeu/models/attributes/line_collection_test.rb
|
311
295
|
- test/lib/vedeu/models/attributes/stream_collection_test.rb
|
312
|
-
- test/lib/vedeu/models/builders/builder_test.rb
|
313
|
-
- test/lib/vedeu/models/builders/command_builder_test.rb
|
314
|
-
- test/lib/vedeu/models/builders/interface_builder_test.rb
|
315
296
|
- test/lib/vedeu/models/colour_test.rb
|
316
|
-
- test/lib/vedeu/models/command_test.rb
|
317
297
|
- test/lib/vedeu/models/composition_test.rb
|
318
298
|
- test/lib/vedeu/models/interface_test.rb
|
319
299
|
- test/lib/vedeu/models/line_test.rb
|
@@ -321,32 +301,28 @@ test_files:
|
|
321
301
|
- test/lib/vedeu/models/stream_test.rb
|
322
302
|
- test/lib/vedeu/models/style_test.rb
|
323
303
|
- test/lib/vedeu/output/clear_interface_test.rb
|
324
|
-
- test/lib/vedeu/output/output_test.rb
|
325
304
|
- test/lib/vedeu/output/render_interface_test.rb
|
326
305
|
- test/lib/vedeu/output/template.rb
|
306
|
+
- test/lib/vedeu/parsing/compositor_test.rb
|
327
307
|
- test/lib/vedeu/parsing/hash_parser_test.rb
|
328
308
|
- test/lib/vedeu/parsing/json_parser_test.rb
|
329
309
|
- test/lib/vedeu/parsing/parser_test.rb
|
330
310
|
- test/lib/vedeu/parsing/text_adaptor_test.rb
|
331
|
-
- test/lib/vedeu/
|
332
|
-
- test/lib/vedeu/repository/command_repository_test.rb
|
333
|
-
- test/lib/vedeu/repository/interface_repository_test.rb
|
334
|
-
- test/lib/vedeu/repository/repository_test.rb
|
335
|
-
- test/lib/vedeu/repository/storage_test.rb
|
336
|
-
- test/lib/vedeu/support/compositor_test.rb
|
311
|
+
- test/lib/vedeu/support/builder_test.rb
|
337
312
|
- test/lib/vedeu/support/esc_test.rb
|
338
313
|
- test/lib/vedeu/support/events_test.rb
|
339
|
-
- test/lib/vedeu/support/exit_test.rb
|
340
314
|
- test/lib/vedeu/support/geometry_test.rb
|
315
|
+
- test/lib/vedeu/support/input_test.rb
|
341
316
|
- test/lib/vedeu/support/menu_test.rb
|
317
|
+
- test/lib/vedeu/support/persistence_test.rb
|
342
318
|
- test/lib/vedeu/support/queue_test.rb
|
343
319
|
- test/lib/vedeu/support/terminal_test.rb
|
344
320
|
- test/lib/vedeu/support/translator_test.rb
|
345
321
|
- test/lib/vedeu/support/wordwrap_test.rb
|
346
322
|
- test/lib/vedeu_test.rb
|
347
323
|
- test/stats.sh
|
324
|
+
- test/support/bench.rb
|
348
325
|
- test/support/colours.rb
|
349
|
-
- test/support/dummy_command.rb
|
350
326
|
- test/support/dummy_interface.rb
|
351
327
|
- test/support/json/int1_lin1_str1.json
|
352
328
|
- test/support/json/int1_lin1_str3.json
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require_relative 'builder'
|
2
|
-
require_relative '../../support/geometry'
|
3
|
-
require_relative '../../repository/interface_repository'
|
4
|
-
|
5
|
-
module Vedeu
|
6
|
-
class InterfaceBuilder < Builder
|
7
|
-
def repository
|
8
|
-
InterfaceRepository
|
9
|
-
end
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def overrides
|
14
|
-
@overrides = if user_attributes[:centred] == true
|
15
|
-
{ x: geometry.left, y: geometry.top }
|
16
|
-
else
|
17
|
-
{}
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def geometry
|
22
|
-
@_geometry ||= Geometry.new({
|
23
|
-
height: user_attributes[:height],
|
24
|
-
width: user_attributes[:width],
|
25
|
-
})
|
26
|
-
end
|
27
|
-
|
28
|
-
def method_missing(method_name, arg, &block)
|
29
|
-
user_attributes[method_name] = arg
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
data/lib/vedeu/models/command.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'virtus'
|
2
|
-
|
3
|
-
module Vedeu
|
4
|
-
class Command
|
5
|
-
include Virtus.model
|
6
|
-
|
7
|
-
attribute :name, String
|
8
|
-
attribute :entity, Class
|
9
|
-
attribute :keyword, String, default: ''
|
10
|
-
attribute :keypress, String, default: ''
|
11
|
-
attribute :arguments, Array, default: []
|
12
|
-
|
13
|
-
def execute(*args)
|
14
|
-
executable.call(*args)
|
15
|
-
end
|
16
|
-
|
17
|
-
# :nocov:
|
18
|
-
def executable
|
19
|
-
proc { |*args| entity.dispatch(*args) }
|
20
|
-
end
|
21
|
-
# :nocov:
|
22
|
-
end
|
23
|
-
end
|
data/lib/vedeu/output/output.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require_relative '../repository/interface_repository'
|
2
|
-
require_relative '../support/terminal'
|
3
|
-
|
4
|
-
module Vedeu
|
5
|
-
module Output
|
6
|
-
extend self
|
7
|
-
|
8
|
-
def render
|
9
|
-
InterfaceRepository.refresh.each do |interface|
|
10
|
-
Terminal.output(interface)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require_relative '../repository/command_repository'
|
2
|
-
require_relative '../support/queue'
|
3
|
-
require_relative '../parsing/parser'
|
4
|
-
|
5
|
-
module Vedeu
|
6
|
-
class Process
|
7
|
-
def self.evaluate
|
8
|
-
new.evaluate
|
9
|
-
end
|
10
|
-
|
11
|
-
def initialize; end
|
12
|
-
|
13
|
-
def evaluate
|
14
|
-
return false if no_input?
|
15
|
-
|
16
|
-
fail StopIteration if stop_requested?
|
17
|
-
|
18
|
-
Parser.parse(result) unless no_result?
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def stop_requested?
|
24
|
-
result == :stop
|
25
|
-
end
|
26
|
-
|
27
|
-
def no_result?
|
28
|
-
result.nil? || result.empty?
|
29
|
-
end
|
30
|
-
|
31
|
-
def no_input?
|
32
|
-
input.nil? || input.empty?
|
33
|
-
end
|
34
|
-
|
35
|
-
def result
|
36
|
-
@result ||= command.execute(*args) if command
|
37
|
-
end
|
38
|
-
|
39
|
-
def command
|
40
|
-
@command ||= CommandRepository.by_input(input)
|
41
|
-
end
|
42
|
-
|
43
|
-
def input
|
44
|
-
@input ||= Queue.dequeue
|
45
|
-
end
|
46
|
-
|
47
|
-
def args
|
48
|
-
[]
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|