vedeu 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vedeu/api.rb +3 -1
  3. data/lib/vedeu/application.rb +1 -1
  4. data/lib/vedeu/bindings.rb +68 -101
  5. data/lib/vedeu/cursor/cursor.rb +1 -1
  6. data/lib/vedeu/cursor/move_cursor.rb +77 -1
  7. data/lib/vedeu/cursor/toggle_cursor.rb +2 -0
  8. data/lib/vedeu/distributed/all.rb +7 -0
  9. data/lib/vedeu/distributed/client.rb +23 -11
  10. data/lib/vedeu/distributed/server.rb +8 -0
  11. data/lib/vedeu/distributed/subprocess.rb +0 -24
  12. data/lib/vedeu/distributed/uri.rb +1 -8
  13. data/lib/vedeu/dsl/all.rb +3 -0
  14. data/lib/vedeu/dsl/components/all.rb +4 -4
  15. data/lib/vedeu/dsl/components/geometry.rb +2 -0
  16. data/lib/vedeu/dsl/components/keymap.rb +14 -3
  17. data/lib/vedeu/dsl/group.rb +69 -0
  18. data/lib/vedeu/dsl/interface.rb +9 -8
  19. data/lib/vedeu/dsl/shared/text.rb +3 -1
  20. data/lib/vedeu/events/event.rb +2 -2
  21. data/lib/vedeu/input/keymap.rb +1 -1
  22. data/lib/vedeu/models/geometry.rb +1 -1
  23. data/lib/vedeu/models/group.rb +24 -10
  24. data/lib/vedeu/models/view/lines.rb +1 -0
  25. data/lib/vedeu/output/all.rb +6 -1
  26. data/lib/vedeu/output/border.rb +1 -1
  27. data/lib/vedeu/{support → output}/esc.rb +0 -0
  28. data/lib/vedeu/output/foreground.rb +1 -1
  29. data/lib/vedeu/output/html_char.rb +2 -0
  30. data/lib/vedeu/output/html_renderer.rb +6 -0
  31. data/lib/vedeu/output/output.rb +21 -0
  32. data/lib/vedeu/{support → output}/refresh.rb +1 -1
  33. data/lib/vedeu/output/renderer.rb +3 -0
  34. data/lib/vedeu/{support → output}/text.rb +0 -0
  35. data/lib/vedeu/output/virtual_terminal.rb +2 -0
  36. data/lib/vedeu/support/all.rb +0 -7
  37. data/lib/vedeu/support/coercions.rb +7 -4
  38. data/lib/vedeu/support/terminal.rb +1 -1
  39. data/lib/vedeu/support/trace.rb +1 -1
  40. data/lib/vedeu/support/visible.rb +1 -1
  41. data/test/lib/vedeu/cursor/move_cursor_test.rb +60 -1
  42. data/test/lib/vedeu/distributed/client_test.rb +21 -2
  43. data/test/lib/vedeu/dsl/group_test.rb +52 -0
  44. data/test/lib/vedeu/models/group_test.rb +11 -4
  45. data/test/lib/vedeu/{support → output}/esc_test.rb +0 -0
  46. data/test/lib/vedeu/{support → output}/refresh_test.rb +0 -0
  47. data/test/lib/vedeu/{support → output}/text_test.rb +0 -0
  48. data/test/test_helper.rb +2 -0
  49. data/vedeu.gemspec +2 -1
  50. metadata +28 -24
  51. data/lib/vedeu/output/writer.rb +0 -44
  52. data/lib/vedeu/support/console.rb +0 -90
  53. data/lib/vedeu/support/node.rb +0 -51
  54. data/lib/vedeu/support/read.rb +0 -66
  55. data/lib/vedeu/support/write.rb +0 -86
  56. data/test/lib/vedeu/output/writer_test.rb +0 -32
  57. data/test/lib/vedeu/support/console_test.rb +0 -138
  58. data/test/lib/vedeu/support/read_test.rb +0 -86
  59. 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.3'
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.3
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-04 00:00:00.000000000 Z
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
@@ -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
@@ -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
@@ -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