vedeu 0.4.3 → 0.4.4
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/lib/vedeu/api.rb +3 -1
- data/lib/vedeu/application.rb +1 -1
- data/lib/vedeu/bindings.rb +68 -101
- data/lib/vedeu/cursor/cursor.rb +1 -1
- data/lib/vedeu/cursor/move_cursor.rb +77 -1
- data/lib/vedeu/cursor/toggle_cursor.rb +2 -0
- data/lib/vedeu/distributed/all.rb +7 -0
- data/lib/vedeu/distributed/client.rb +23 -11
- data/lib/vedeu/distributed/server.rb +8 -0
- data/lib/vedeu/distributed/subprocess.rb +0 -24
- data/lib/vedeu/distributed/uri.rb +1 -8
- data/lib/vedeu/dsl/all.rb +3 -0
- data/lib/vedeu/dsl/components/all.rb +4 -4
- data/lib/vedeu/dsl/components/geometry.rb +2 -0
- data/lib/vedeu/dsl/components/keymap.rb +14 -3
- data/lib/vedeu/dsl/group.rb +69 -0
- data/lib/vedeu/dsl/interface.rb +9 -8
- data/lib/vedeu/dsl/shared/text.rb +3 -1
- data/lib/vedeu/events/event.rb +2 -2
- data/lib/vedeu/input/keymap.rb +1 -1
- data/lib/vedeu/models/geometry.rb +1 -1
- data/lib/vedeu/models/group.rb +24 -10
- data/lib/vedeu/models/view/lines.rb +1 -0
- data/lib/vedeu/output/all.rb +6 -1
- data/lib/vedeu/output/border.rb +1 -1
- data/lib/vedeu/{support → output}/esc.rb +0 -0
- data/lib/vedeu/output/foreground.rb +1 -1
- data/lib/vedeu/output/html_char.rb +2 -0
- data/lib/vedeu/output/html_renderer.rb +6 -0
- data/lib/vedeu/output/output.rb +21 -0
- data/lib/vedeu/{support → output}/refresh.rb +1 -1
- data/lib/vedeu/output/renderer.rb +3 -0
- data/lib/vedeu/{support → output}/text.rb +0 -0
- data/lib/vedeu/output/virtual_terminal.rb +2 -0
- data/lib/vedeu/support/all.rb +0 -7
- data/lib/vedeu/support/coercions.rb +7 -4
- data/lib/vedeu/support/terminal.rb +1 -1
- data/lib/vedeu/support/trace.rb +1 -1
- data/lib/vedeu/support/visible.rb +1 -1
- data/test/lib/vedeu/cursor/move_cursor_test.rb +60 -1
- data/test/lib/vedeu/distributed/client_test.rb +21 -2
- data/test/lib/vedeu/dsl/group_test.rb +52 -0
- data/test/lib/vedeu/models/group_test.rb +11 -4
- data/test/lib/vedeu/{support → output}/esc_test.rb +0 -0
- data/test/lib/vedeu/{support → output}/refresh_test.rb +0 -0
- data/test/lib/vedeu/{support → output}/text_test.rb +0 -0
- data/test/test_helper.rb +2 -0
- data/vedeu.gemspec +2 -1
- metadata +28 -24
- data/lib/vedeu/output/writer.rb +0 -44
- data/lib/vedeu/support/console.rb +0 -90
- data/lib/vedeu/support/node.rb +0 -51
- data/lib/vedeu/support/read.rb +0 -66
- data/lib/vedeu/support/write.rb +0 -86
- data/test/lib/vedeu/output/writer_test.rb +0 -32
- data/test/lib/vedeu/support/console_test.rb +0 -138
- data/test/lib/vedeu/support/read_test.rb +0 -86
- data/test/lib/vedeu/support/write_test.rb +0 -158
data/vedeu.gemspec
CHANGED
@@ -4,7 +4,7 @@ $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.4.
|
7
|
+
spec.version = '0.4.4'
|
8
8
|
spec.authors = ['Gavin Laking']
|
9
9
|
spec.email = ['gavinlaking@gmail.com']
|
10
10
|
spec.summary = %q{A terminal case of wonderland.}
|
@@ -33,5 +33,6 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency 'rake', '10.4.2'
|
34
34
|
spec.add_development_dependency 'ruby-prof', '0.15.6'
|
35
35
|
spec.add_development_dependency 'simplecov', '0.9.2'
|
36
|
+
spec.add_development_dependency 'simplecov-console', '0.2.0'
|
36
37
|
spec.add_development_dependency 'yard', '0.8.7.6'
|
37
38
|
end
|
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.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aruba
|
@@ -234,6 +234,20 @@ dependencies:
|
|
234
234
|
- - '='
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: 0.9.2
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: simplecov-console
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - '='
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 0.2.0
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - '='
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 0.2.0
|
237
251
|
- !ruby/object:Gem::Dependency
|
238
252
|
name: yard
|
239
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -329,6 +343,7 @@ files:
|
|
329
343
|
- lib/vedeu/dsl/components/keymap.rb
|
330
344
|
- lib/vedeu/dsl/components/menu.rb
|
331
345
|
- lib/vedeu/dsl/composition.rb
|
346
|
+
- lib/vedeu/dsl/group.rb
|
332
347
|
- lib/vedeu/dsl/interface.rb
|
333
348
|
- lib/vedeu/dsl/line.rb
|
334
349
|
- lib/vedeu/dsl/shared/all.rb
|
@@ -381,6 +396,7 @@ files:
|
|
381
396
|
- lib/vedeu/output/border.rb
|
382
397
|
- lib/vedeu/output/colour.rb
|
383
398
|
- lib/vedeu/output/compositor.rb
|
399
|
+
- lib/vedeu/output/esc.rb
|
384
400
|
- lib/vedeu/output/foreground.rb
|
385
401
|
- lib/vedeu/output/html_char.rb
|
386
402
|
- lib/vedeu/output/html_renderer.rb
|
@@ -388,33 +404,27 @@ files:
|
|
388
404
|
- lib/vedeu/output/output.rb
|
389
405
|
- lib/vedeu/output/position_index.rb
|
390
406
|
- lib/vedeu/output/presentation.rb
|
407
|
+
- lib/vedeu/output/refresh.rb
|
391
408
|
- lib/vedeu/output/renderer.rb
|
392
409
|
- lib/vedeu/output/style.rb
|
393
410
|
- lib/vedeu/output/templates/html_renderer.vedeu
|
411
|
+
- lib/vedeu/output/text.rb
|
394
412
|
- lib/vedeu/output/translator.rb
|
395
413
|
- lib/vedeu/output/viewport.rb
|
396
414
|
- lib/vedeu/output/virtual_buffer.rb
|
397
415
|
- lib/vedeu/output/virtual_terminal.rb
|
398
416
|
- lib/vedeu/output/wordwrap.rb
|
399
|
-
- lib/vedeu/output/writer.rb
|
400
417
|
- lib/vedeu/repositories/all.rb
|
401
418
|
- lib/vedeu/repositories/repository.rb
|
402
419
|
- lib/vedeu/support/all.rb
|
403
420
|
- lib/vedeu/support/coercions.rb
|
404
421
|
- lib/vedeu/support/common.rb
|
405
|
-
- lib/vedeu/support/console.rb
|
406
|
-
- lib/vedeu/support/esc.rb
|
407
422
|
- lib/vedeu/support/log.rb
|
408
|
-
- lib/vedeu/support/node.rb
|
409
|
-
- lib/vedeu/support/read.rb
|
410
|
-
- lib/vedeu/support/refresh.rb
|
411
423
|
- lib/vedeu/support/sentence.rb
|
412
424
|
- lib/vedeu/support/template.rb
|
413
425
|
- lib/vedeu/support/terminal.rb
|
414
|
-
- lib/vedeu/support/text.rb
|
415
426
|
- lib/vedeu/support/trace.rb
|
416
427
|
- lib/vedeu/support/visible.rb
|
417
|
-
- lib/vedeu/support/write.rb
|
418
428
|
- lib/vedeu/traps.rb
|
419
429
|
- logs/.gitkeep
|
420
430
|
- test/lib/vedeu/api_test.rb
|
@@ -438,6 +448,7 @@ files:
|
|
438
448
|
- test/lib/vedeu/dsl/components/keymap_test.rb
|
439
449
|
- test/lib/vedeu/dsl/components/menu_test.rb
|
440
450
|
- test/lib/vedeu/dsl/composition_test.rb
|
451
|
+
- test/lib/vedeu/dsl/group_test.rb
|
441
452
|
- test/lib/vedeu/dsl/interface_test.rb
|
442
453
|
- test/lib/vedeu/dsl/line_test.rb
|
443
454
|
- test/lib/vedeu/dsl/shared/colour_test.rb
|
@@ -480,6 +491,7 @@ files:
|
|
480
491
|
- test/lib/vedeu/output/border_test.rb
|
481
492
|
- test/lib/vedeu/output/colour_test.rb
|
482
493
|
- test/lib/vedeu/output/compositor_test.rb
|
494
|
+
- test/lib/vedeu/output/esc_test.rb
|
483
495
|
- test/lib/vedeu/output/foreground_test.rb
|
484
496
|
- test/lib/vedeu/output/html_char_test.rb
|
485
497
|
- test/lib/vedeu/output/html_renderer_test.rb
|
@@ -487,30 +499,25 @@ files:
|
|
487
499
|
- test/lib/vedeu/output/output_test.rb
|
488
500
|
- test/lib/vedeu/output/position_index_test.rb
|
489
501
|
- test/lib/vedeu/output/presentation_test.rb
|
502
|
+
- test/lib/vedeu/output/refresh_test.rb
|
490
503
|
- test/lib/vedeu/output/renderer_test.rb
|
491
504
|
- test/lib/vedeu/output/style_test.rb
|
505
|
+
- test/lib/vedeu/output/text_test.rb
|
492
506
|
- test/lib/vedeu/output/translator_test.rb
|
493
507
|
- test/lib/vedeu/output/viewport_test.rb
|
494
508
|
- test/lib/vedeu/output/virtual_buffer_test.rb
|
495
509
|
- test/lib/vedeu/output/virtual_terminal_test.rb
|
496
510
|
- test/lib/vedeu/output/wordwrap_test.rb
|
497
|
-
- test/lib/vedeu/output/writer_test.rb
|
498
511
|
- test/lib/vedeu/repositories/all_test.rb
|
499
512
|
- test/lib/vedeu/repositories/repository_test.rb
|
500
513
|
- test/lib/vedeu/support/coercions_test.rb
|
501
514
|
- test/lib/vedeu/support/common_test.rb
|
502
|
-
- test/lib/vedeu/support/console_test.rb
|
503
|
-
- test/lib/vedeu/support/esc_test.rb
|
504
515
|
- test/lib/vedeu/support/log_test.rb
|
505
|
-
- test/lib/vedeu/support/read_test.rb
|
506
|
-
- test/lib/vedeu/support/refresh_test.rb
|
507
516
|
- test/lib/vedeu/support/sentence_test.rb
|
508
517
|
- test/lib/vedeu/support/template_test.rb
|
509
518
|
- test/lib/vedeu/support/terminal_test.rb
|
510
|
-
- test/lib/vedeu/support/text_test.rb
|
511
519
|
- test/lib/vedeu/support/trace_test.rb
|
512
520
|
- test/lib/vedeu/support/visible_test.rb
|
513
|
-
- test/lib/vedeu/support/write_test.rb
|
514
521
|
- test/lib/vedeu/traps_test.rb
|
515
522
|
- test/lib/vedeu_test.rb
|
516
523
|
- test/support/colour_test.sh
|
@@ -571,6 +578,7 @@ test_files:
|
|
571
578
|
- test/lib/vedeu/dsl/components/keymap_test.rb
|
572
579
|
- test/lib/vedeu/dsl/components/menu_test.rb
|
573
580
|
- test/lib/vedeu/dsl/composition_test.rb
|
581
|
+
- test/lib/vedeu/dsl/group_test.rb
|
574
582
|
- test/lib/vedeu/dsl/interface_test.rb
|
575
583
|
- test/lib/vedeu/dsl/line_test.rb
|
576
584
|
- test/lib/vedeu/dsl/shared/colour_test.rb
|
@@ -613,6 +621,7 @@ test_files:
|
|
613
621
|
- test/lib/vedeu/output/border_test.rb
|
614
622
|
- test/lib/vedeu/output/colour_test.rb
|
615
623
|
- test/lib/vedeu/output/compositor_test.rb
|
624
|
+
- test/lib/vedeu/output/esc_test.rb
|
616
625
|
- test/lib/vedeu/output/foreground_test.rb
|
617
626
|
- test/lib/vedeu/output/html_char_test.rb
|
618
627
|
- test/lib/vedeu/output/html_renderer_test.rb
|
@@ -620,30 +629,25 @@ test_files:
|
|
620
629
|
- test/lib/vedeu/output/output_test.rb
|
621
630
|
- test/lib/vedeu/output/position_index_test.rb
|
622
631
|
- test/lib/vedeu/output/presentation_test.rb
|
632
|
+
- test/lib/vedeu/output/refresh_test.rb
|
623
633
|
- test/lib/vedeu/output/renderer_test.rb
|
624
634
|
- test/lib/vedeu/output/style_test.rb
|
635
|
+
- test/lib/vedeu/output/text_test.rb
|
625
636
|
- test/lib/vedeu/output/translator_test.rb
|
626
637
|
- test/lib/vedeu/output/viewport_test.rb
|
627
638
|
- test/lib/vedeu/output/virtual_buffer_test.rb
|
628
639
|
- test/lib/vedeu/output/virtual_terminal_test.rb
|
629
640
|
- test/lib/vedeu/output/wordwrap_test.rb
|
630
|
-
- test/lib/vedeu/output/writer_test.rb
|
631
641
|
- test/lib/vedeu/repositories/all_test.rb
|
632
642
|
- test/lib/vedeu/repositories/repository_test.rb
|
633
643
|
- test/lib/vedeu/support/coercions_test.rb
|
634
644
|
- test/lib/vedeu/support/common_test.rb
|
635
|
-
- test/lib/vedeu/support/console_test.rb
|
636
|
-
- test/lib/vedeu/support/esc_test.rb
|
637
645
|
- test/lib/vedeu/support/log_test.rb
|
638
|
-
- test/lib/vedeu/support/read_test.rb
|
639
|
-
- test/lib/vedeu/support/refresh_test.rb
|
640
646
|
- test/lib/vedeu/support/sentence_test.rb
|
641
647
|
- test/lib/vedeu/support/template_test.rb
|
642
648
|
- test/lib/vedeu/support/terminal_test.rb
|
643
|
-
- test/lib/vedeu/support/text_test.rb
|
644
649
|
- test/lib/vedeu/support/trace_test.rb
|
645
650
|
- test/lib/vedeu/support/visible_test.rb
|
646
|
-
- test/lib/vedeu/support/write_test.rb
|
647
651
|
- test/lib/vedeu/traps_test.rb
|
648
652
|
- test/lib/vedeu_test.rb
|
649
653
|
- test/support/colour_test.sh
|
data/lib/vedeu/output/writer.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# Provides access to all possible mechanisms to write content.
|
4
|
-
#
|
5
|
-
# @note
|
6
|
-
# Will be used to translate output into HTML, etc.
|
7
|
-
#
|
8
|
-
class Writer
|
9
|
-
|
10
|
-
attr_reader :writers
|
11
|
-
|
12
|
-
# @param args []
|
13
|
-
# @return [Vedeu::Writer]
|
14
|
-
def self.[](*args)
|
15
|
-
new(args)
|
16
|
-
end
|
17
|
-
|
18
|
-
# @param writers []
|
19
|
-
# @return [Vedeu::Writer]
|
20
|
-
def initialize(writers)
|
21
|
-
@writers = writers
|
22
|
-
end
|
23
|
-
|
24
|
-
# @param other []
|
25
|
-
# @return [Boolean]
|
26
|
-
def ==(other)
|
27
|
-
writers == other.writers
|
28
|
-
end
|
29
|
-
|
30
|
-
# @param other []
|
31
|
-
# @return [Vedeu::Writer]
|
32
|
-
def +(other)
|
33
|
-
Writer[*(writers + other.writers)]
|
34
|
-
end
|
35
|
-
|
36
|
-
# @param stream []
|
37
|
-
# @return [Array]
|
38
|
-
def write(stream)
|
39
|
-
@writers.each { |writer| writer.write(stream) }
|
40
|
-
end
|
41
|
-
|
42
|
-
end # Writer
|
43
|
-
|
44
|
-
end # Vedeu
|
@@ -1,90 +0,0 @@
|
|
1
|
-
require 'vedeu/support/read'
|
2
|
-
require 'vedeu/support/write'
|
3
|
-
|
4
|
-
module Vedeu
|
5
|
-
|
6
|
-
# An abstract terminal class.
|
7
|
-
#
|
8
|
-
class Console
|
9
|
-
|
10
|
-
attr_reader :height,
|
11
|
-
:origin,
|
12
|
-
:width
|
13
|
-
|
14
|
-
alias_method :tyn, :height
|
15
|
-
alias_method :yn, :height
|
16
|
-
alias_method :x, :origin
|
17
|
-
alias_method :y, :origin
|
18
|
-
alias_method :tx, :origin
|
19
|
-
alias_method :ty, :origin
|
20
|
-
alias_method :txn, :width
|
21
|
-
alias_method :xn, :width
|
22
|
-
|
23
|
-
# @param height [Fixnum]
|
24
|
-
# @param width [Fixnum]
|
25
|
-
# @return [Vedeu::Console]
|
26
|
-
def initialize(height = 25, width = 80)
|
27
|
-
@height = height || 25
|
28
|
-
@width = width || 80
|
29
|
-
@origin = 1
|
30
|
-
end
|
31
|
-
|
32
|
-
# @param data [String|NilClass]
|
33
|
-
# @return [String]
|
34
|
-
def input(data = nil)
|
35
|
-
Vedeu::Read.from(self, data)
|
36
|
-
end
|
37
|
-
alias_method :read, :input
|
38
|
-
|
39
|
-
# @param data [Array<Array<Char>>|Array<String>|String|NilClass]
|
40
|
-
# @return [Array]
|
41
|
-
def output(data = nil)
|
42
|
-
Vedeu::Write.to(self, data)
|
43
|
-
end
|
44
|
-
alias_method :write, :output
|
45
|
-
|
46
|
-
# Returns a coordinate tuple of the format [y, x], where `y` is the row/line
|
47
|
-
# and `x` is the column/character.
|
48
|
-
#
|
49
|
-
# @return [Array]
|
50
|
-
def centre
|
51
|
-
[(height / 2), (width / 2)]
|
52
|
-
end
|
53
|
-
|
54
|
-
# Returns the `y` (row/line) component of the coordinate tuple provided by
|
55
|
-
# {Vedeu::Terminal.centre}
|
56
|
-
#
|
57
|
-
# @return [Fixnum]
|
58
|
-
def centre_y
|
59
|
-
centre.first
|
60
|
-
end
|
61
|
-
|
62
|
-
# Returns the `x` (column/character) component of the coodinate tuple
|
63
|
-
# provided by {Vedeu::Terminal.centre}
|
64
|
-
#
|
65
|
-
# @return [Fixnum]
|
66
|
-
def centre_x
|
67
|
-
centre.last
|
68
|
-
end
|
69
|
-
|
70
|
-
# @param block [Proc]
|
71
|
-
# @return [Proc]
|
72
|
-
def cooked(&block)
|
73
|
-
yield
|
74
|
-
end
|
75
|
-
|
76
|
-
# @param block [Proc]
|
77
|
-
# @return [Proc]
|
78
|
-
def raw(&block)
|
79
|
-
yield
|
80
|
-
end
|
81
|
-
|
82
|
-
# @return [Array]
|
83
|
-
def size
|
84
|
-
[height, width]
|
85
|
-
end
|
86
|
-
alias_method :winsize, :size
|
87
|
-
|
88
|
-
end # Console
|
89
|
-
|
90
|
-
end # Vedeu
|
data/lib/vedeu/support/node.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# A composition class.
|
4
|
-
#
|
5
|
-
class Node
|
6
|
-
|
7
|
-
attr_accessor :name,
|
8
|
-
:parent
|
9
|
-
|
10
|
-
attr_reader :children
|
11
|
-
|
12
|
-
# @return [void]
|
13
|
-
def initialize(name)
|
14
|
-
@name = name
|
15
|
-
@children = []
|
16
|
-
end
|
17
|
-
|
18
|
-
# @return [void]
|
19
|
-
def add_child(node)
|
20
|
-
children << node
|
21
|
-
|
22
|
-
node.parent = self
|
23
|
-
end
|
24
|
-
alias :<< :add_child
|
25
|
-
|
26
|
-
# @return [void]
|
27
|
-
def remove_child(node)
|
28
|
-
children.delete(node)
|
29
|
-
end
|
30
|
-
|
31
|
-
# @return [void]
|
32
|
-
def [](index)
|
33
|
-
children[index]
|
34
|
-
end
|
35
|
-
|
36
|
-
# @return [void]
|
37
|
-
def []=(index, node)
|
38
|
-
replaced_child = @children[index]
|
39
|
-
children[index] = node
|
40
|
-
replaced_child.parent = nil
|
41
|
-
node.parent = self
|
42
|
-
end
|
43
|
-
|
44
|
-
# @return [void]
|
45
|
-
def leaf?
|
46
|
-
children.empty?
|
47
|
-
end
|
48
|
-
|
49
|
-
end # Node
|
50
|
-
|
51
|
-
end # Vedeu
|
data/lib/vedeu/support/read.rb
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
|
3
|
-
# The basis of a fake input device.
|
4
|
-
#
|
5
|
-
class Read
|
6
|
-
|
7
|
-
# @param console []
|
8
|
-
# @param data [String|NilClass]
|
9
|
-
# @return [String]
|
10
|
-
def self.from(console, data = nil)
|
11
|
-
new(console, data).read
|
12
|
-
end
|
13
|
-
|
14
|
-
# @param console []
|
15
|
-
# @param data [String|NilClass]
|
16
|
-
# @return [Vedeu::Read]
|
17
|
-
def initialize(console, data = nil)
|
18
|
-
@console = console
|
19
|
-
@data = data
|
20
|
-
end
|
21
|
-
|
22
|
-
# Provides IO.console emulation of #getch.
|
23
|
-
#
|
24
|
-
# @return [String]
|
25
|
-
def getch(string = nil)
|
26
|
-
@data = string[0] unless string.nil?
|
27
|
-
|
28
|
-
read
|
29
|
-
end
|
30
|
-
|
31
|
-
# Provides IO.console emulation of #gets.
|
32
|
-
#
|
33
|
-
# @return [String]
|
34
|
-
def gets(string = nil)
|
35
|
-
@data = string.chomp unless string.nil?
|
36
|
-
|
37
|
-
read
|
38
|
-
end
|
39
|
-
|
40
|
-
# Provides IO.console emulation of #read_nonblock.
|
41
|
-
#
|
42
|
-
# @return [String]
|
43
|
-
def read_nonblock(bytes = 1, string = nil)
|
44
|
-
@data = string unless string.nil?
|
45
|
-
|
46
|
-
read
|
47
|
-
end
|
48
|
-
|
49
|
-
# @return [String]
|
50
|
-
def read
|
51
|
-
if data
|
52
|
-
data
|
53
|
-
|
54
|
-
else
|
55
|
-
''
|
56
|
-
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
private
|
61
|
-
|
62
|
-
attr_reader :console, :data
|
63
|
-
|
64
|
-
end # Read
|
65
|
-
|
66
|
-
end # Vedeu
|