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.
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