vedeu 0.4.7 → 0.4.8

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vedeu/all.rb +1 -2
  3. data/lib/vedeu/api.rb +1 -0
  4. data/lib/vedeu/application.rb +2 -4
  5. data/lib/vedeu/bindings.rb +13 -13
  6. data/lib/vedeu/configuration/api.rb +6 -9
  7. data/lib/vedeu/configuration/cli.rb +4 -7
  8. data/lib/vedeu/cursor/all.rb +2 -2
  9. data/lib/vedeu/cursor/{move_cursor.rb → move.rb} +6 -6
  10. data/lib/vedeu/cursor/refresh_cursor.rb +7 -4
  11. data/lib/vedeu/cursor/{toggle_cursor.rb → toggle.rb} +6 -8
  12. data/lib/vedeu/debug.rb +2 -0
  13. data/lib/vedeu/distributed/client.rb +1 -2
  14. data/lib/vedeu/distributed/server.rb +1 -1
  15. data/lib/vedeu/distributed/subprocess.rb +3 -2
  16. data/lib/vedeu/distributed/test_application.rb +2 -4
  17. data/lib/vedeu/dsl/all.rb +2 -0
  18. data/lib/vedeu/dsl/components/geometry.rb +45 -10
  19. data/lib/vedeu/dsl/interface.rb +1 -1
  20. data/lib/vedeu/events/event.rb +22 -14
  21. data/lib/vedeu/events/trigger.rb +6 -3
  22. data/lib/vedeu/geometry/all.rb +6 -1
  23. data/lib/vedeu/geometry/area.rb +151 -0
  24. data/lib/vedeu/geometry/canvas.rb +79 -0
  25. data/lib/vedeu/geometry/centre.rb +83 -0
  26. data/lib/vedeu/geometry/{content_geometry.rb → content.rb} +3 -3
  27. data/lib/vedeu/geometry/dimension.rb +81 -0
  28. data/lib/vedeu/{models → geometry}/geometry.rb +32 -0
  29. data/lib/vedeu/geometry/grid.rb +1 -2
  30. data/lib/vedeu/geometry/index_position.rb +3 -11
  31. data/lib/vedeu/geometry/limit.rb +1 -1
  32. data/lib/vedeu/geometry/position.rb +5 -0
  33. data/lib/vedeu/geometry/position_index.rb +3 -5
  34. data/lib/vedeu/geometry/position_validator.rb +1 -4
  35. data/lib/vedeu/input/input.rb +1 -2
  36. data/lib/vedeu/input/mapper.rb +2 -4
  37. data/lib/vedeu/launcher.rb +1 -1
  38. data/lib/vedeu/main_loop.rb +2 -0
  39. data/lib/vedeu/models/all.rb +1 -1
  40. data/lib/vedeu/models/cell.rb +68 -0
  41. data/lib/vedeu/models/interface.rb +4 -2
  42. data/lib/vedeu/output/all.rb +0 -1
  43. data/lib/vedeu/output/border.rb +6 -6
  44. data/lib/vedeu/output/clear.rb +6 -5
  45. data/lib/vedeu/output/colour.rb +1 -1
  46. data/lib/vedeu/output/esc.rb +2 -2
  47. data/lib/vedeu/output/output.rb +1 -3
  48. data/lib/vedeu/output/style.rb +2 -2
  49. data/lib/vedeu/output/text.rb +17 -1
  50. data/lib/vedeu/output/translator.rb +1 -8
  51. data/lib/vedeu/output/virtual_terminal.rb +3 -3
  52. data/lib/vedeu/output/wordwrap.rb +1 -1
  53. data/lib/vedeu/repositories/model.rb +1 -1
  54. data/lib/vedeu/repositories/repository.rb +1 -1
  55. data/lib/vedeu/support/log.rb +1 -1
  56. data/lib/vedeu/support/trace.rb +5 -3
  57. data/test/lib/vedeu/cursor/{move_cursor_test.rb → move_test.rb} +22 -22
  58. data/test/lib/vedeu/cursor/{toggle_cursor_test.rb → toggle_test.rb} +6 -6
  59. data/test/lib/vedeu/dsl/components/geometry_test.rb +14 -2
  60. data/test/lib/vedeu/geometry/area_test.rb +99 -0
  61. data/test/lib/vedeu/geometry/canvas_test.rb +66 -0
  62. data/test/lib/vedeu/geometry/centre_test.rb +58 -0
  63. data/test/lib/vedeu/geometry/{content_geometry_test.rb → content_test.rb} +3 -3
  64. data/test/lib/vedeu/geometry/dimension_test.rb +99 -0
  65. data/test/lib/vedeu/{models → geometry}/geometry_test.rb +0 -0
  66. data/test/lib/vedeu/geometry/index_position_test.rb +3 -9
  67. data/test/lib/vedeu/geometry/position_index_test.rb +2 -2
  68. data/test/lib/vedeu/geometry/position_test.rb +6 -0
  69. data/test/lib/vedeu/models/cell_test.rb +66 -0
  70. data/test/lib/vedeu/output/virtual_terminal_test.rb +25 -25
  71. data/vedeu.gemspec +3 -3
  72. metadata +34 -22
  73. data/lib/vedeu/output/char_builder.rb +0 -36
  74. data/test/lib/vedeu/output/char_builder_test.rb +0 -50
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.7
4
+ version: 0.4.8
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-12 00:00:00.000000000 Z
11
+ date: 2015-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aruba
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 2.12.4
61
+ version: 2.12.5
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 2.12.4
68
+ version: 2.12.5
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard-bundler
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - '='
186
186
  - !ruby/object:Gem::Version
187
- version: 3.0.1
187
+ version: 3.1.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - '='
193
193
  - !ruby/object:Gem::Version
194
- version: 3.0.1
194
+ version: 3.1.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rake
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -310,9 +310,9 @@ files:
310
310
  - lib/vedeu/configuration/configuration.rb
311
311
  - lib/vedeu/cursor/all.rb
312
312
  - lib/vedeu/cursor/cursor.rb
313
- - lib/vedeu/cursor/move_cursor.rb
313
+ - lib/vedeu/cursor/move.rb
314
314
  - lib/vedeu/cursor/refresh_cursor.rb
315
- - lib/vedeu/cursor/toggle_cursor.rb
315
+ - lib/vedeu/cursor/toggle.rb
316
316
  - lib/vedeu/debug.rb
317
317
  - lib/vedeu/distributed/all.rb
318
318
  - lib/vedeu/distributed/client.rb
@@ -351,9 +351,14 @@ files:
351
351
  - lib/vedeu/events/trigger.rb
352
352
  - lib/vedeu/exceptions.rb
353
353
  - lib/vedeu/geometry/all.rb
354
+ - lib/vedeu/geometry/area.rb
354
355
  - lib/vedeu/geometry/bounding_area.rb
355
- - lib/vedeu/geometry/content_geometry.rb
356
+ - lib/vedeu/geometry/canvas.rb
357
+ - lib/vedeu/geometry/centre.rb
358
+ - lib/vedeu/geometry/content.rb
356
359
  - lib/vedeu/geometry/coordinate.rb
360
+ - lib/vedeu/geometry/dimension.rb
361
+ - lib/vedeu/geometry/geometry.rb
357
362
  - lib/vedeu/geometry/grid.rb
358
363
  - lib/vedeu/geometry/index_position.rb
359
364
  - lib/vedeu/geometry/limit.rb
@@ -368,10 +373,10 @@ files:
368
373
  - lib/vedeu/launcher.rb
369
374
  - lib/vedeu/main_loop.rb
370
375
  - lib/vedeu/models/all.rb
376
+ - lib/vedeu/models/cell.rb
371
377
  - lib/vedeu/models/char.rb
372
378
  - lib/vedeu/models/composition.rb
373
379
  - lib/vedeu/models/focus.rb
374
- - lib/vedeu/models/geometry.rb
375
380
  - lib/vedeu/models/group.rb
376
381
  - lib/vedeu/models/interface.rb
377
382
  - lib/vedeu/models/line.rb
@@ -380,7 +385,6 @@ files:
380
385
  - lib/vedeu/output/all.rb
381
386
  - lib/vedeu/output/background.rb
382
387
  - lib/vedeu/output/border.rb
383
- - lib/vedeu/output/char_builder.rb
384
388
  - lib/vedeu/output/clear.rb
385
389
  - lib/vedeu/output/colour.rb
386
390
  - lib/vedeu/output/compositor.rb
@@ -425,9 +429,9 @@ files:
425
429
  - test/lib/vedeu/configuration/cli_test.rb
426
430
  - test/lib/vedeu/configuration/configuration_test.rb
427
431
  - test/lib/vedeu/cursor/cursor_test.rb
428
- - test/lib/vedeu/cursor/move_cursor_test.rb
432
+ - test/lib/vedeu/cursor/move_test.rb
429
433
  - test/lib/vedeu/cursor/refresh_cursor_test.rb
430
- - test/lib/vedeu/cursor/toggle_cursor_test.rb
434
+ - test/lib/vedeu/cursor/toggle_test.rb
431
435
  - test/lib/vedeu/distributed/client_test.rb
432
436
  - test/lib/vedeu/distributed/server_test.rb
433
437
  - test/lib/vedeu/distributed/subprocess_test.rb
@@ -449,9 +453,14 @@ files:
449
453
  - test/lib/vedeu/dsl/view_test.rb
450
454
  - test/lib/vedeu/events/event_test.rb
451
455
  - test/lib/vedeu/events/trigger_test.rb
456
+ - test/lib/vedeu/geometry/area_test.rb
452
457
  - test/lib/vedeu/geometry/bounding_area_test.rb
453
- - test/lib/vedeu/geometry/content_geometry_test.rb
458
+ - test/lib/vedeu/geometry/canvas_test.rb
459
+ - test/lib/vedeu/geometry/centre_test.rb
460
+ - test/lib/vedeu/geometry/content_test.rb
454
461
  - test/lib/vedeu/geometry/coordinate_test.rb
462
+ - test/lib/vedeu/geometry/dimension_test.rb
463
+ - test/lib/vedeu/geometry/geometry_test.rb
455
464
  - test/lib/vedeu/geometry/grid_test.rb
456
465
  - test/lib/vedeu/geometry/index_position_test.rb
457
466
  - test/lib/vedeu/geometry/limit_test.rb
@@ -464,10 +473,10 @@ files:
464
473
  - test/lib/vedeu/input/mapper_test.rb
465
474
  - test/lib/vedeu/launcher_test.rb
466
475
  - test/lib/vedeu/main_loop_test.rb
476
+ - test/lib/vedeu/models/cell_test.rb
467
477
  - test/lib/vedeu/models/char_test.rb
468
478
  - test/lib/vedeu/models/composition_test.rb
469
479
  - test/lib/vedeu/models/focus_test.rb
470
- - test/lib/vedeu/models/geometry_test.rb
471
480
  - test/lib/vedeu/models/group_test.rb
472
481
  - test/lib/vedeu/models/interface_test.rb
473
482
  - test/lib/vedeu/models/line_test.rb
@@ -475,7 +484,6 @@ files:
475
484
  - test/lib/vedeu/models/stream_test.rb
476
485
  - test/lib/vedeu/output/background_test.rb
477
486
  - test/lib/vedeu/output/border_test.rb
478
- - test/lib/vedeu/output/char_builder_test.rb
479
487
  - test/lib/vedeu/output/clear_test.rb
480
488
  - test/lib/vedeu/output/colour_test.rb
481
489
  - test/lib/vedeu/output/compositor_test.rb
@@ -539,7 +547,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
539
547
  version: '0'
540
548
  requirements: []
541
549
  rubyforge_project:
542
- rubygems_version: 2.4.3
550
+ rubygems_version: 2.4.6
543
551
  signing_key:
544
552
  specification_version: 4
545
553
  summary: A terminal case of wonderland.
@@ -555,9 +563,9 @@ test_files:
555
563
  - test/lib/vedeu/configuration/cli_test.rb
556
564
  - test/lib/vedeu/configuration/configuration_test.rb
557
565
  - test/lib/vedeu/cursor/cursor_test.rb
558
- - test/lib/vedeu/cursor/move_cursor_test.rb
566
+ - test/lib/vedeu/cursor/move_test.rb
559
567
  - test/lib/vedeu/cursor/refresh_cursor_test.rb
560
- - test/lib/vedeu/cursor/toggle_cursor_test.rb
568
+ - test/lib/vedeu/cursor/toggle_test.rb
561
569
  - test/lib/vedeu/distributed/client_test.rb
562
570
  - test/lib/vedeu/distributed/server_test.rb
563
571
  - test/lib/vedeu/distributed/subprocess_test.rb
@@ -579,9 +587,14 @@ test_files:
579
587
  - test/lib/vedeu/dsl/view_test.rb
580
588
  - test/lib/vedeu/events/event_test.rb
581
589
  - test/lib/vedeu/events/trigger_test.rb
590
+ - test/lib/vedeu/geometry/area_test.rb
582
591
  - test/lib/vedeu/geometry/bounding_area_test.rb
583
- - test/lib/vedeu/geometry/content_geometry_test.rb
592
+ - test/lib/vedeu/geometry/canvas_test.rb
593
+ - test/lib/vedeu/geometry/centre_test.rb
594
+ - test/lib/vedeu/geometry/content_test.rb
584
595
  - test/lib/vedeu/geometry/coordinate_test.rb
596
+ - test/lib/vedeu/geometry/dimension_test.rb
597
+ - test/lib/vedeu/geometry/geometry_test.rb
585
598
  - test/lib/vedeu/geometry/grid_test.rb
586
599
  - test/lib/vedeu/geometry/index_position_test.rb
587
600
  - test/lib/vedeu/geometry/limit_test.rb
@@ -594,10 +607,10 @@ test_files:
594
607
  - test/lib/vedeu/input/mapper_test.rb
595
608
  - test/lib/vedeu/launcher_test.rb
596
609
  - test/lib/vedeu/main_loop_test.rb
610
+ - test/lib/vedeu/models/cell_test.rb
597
611
  - test/lib/vedeu/models/char_test.rb
598
612
  - test/lib/vedeu/models/composition_test.rb
599
613
  - test/lib/vedeu/models/focus_test.rb
600
- - test/lib/vedeu/models/geometry_test.rb
601
614
  - test/lib/vedeu/models/group_test.rb
602
615
  - test/lib/vedeu/models/interface_test.rb
603
616
  - test/lib/vedeu/models/line_test.rb
@@ -605,7 +618,6 @@ test_files:
605
618
  - test/lib/vedeu/models/stream_test.rb
606
619
  - test/lib/vedeu/output/background_test.rb
607
620
  - test/lib/vedeu/output/border_test.rb
608
- - test/lib/vedeu/output/char_builder_test.rb
609
621
  - test/lib/vedeu/output/clear_test.rb
610
622
  - test/lib/vedeu/output/colour_test.rb
611
623
  - test/lib/vedeu/output/compositor_test.rb
@@ -1,36 +0,0 @@
1
- module Vedeu
2
-
3
- # Included in {Vedeu::Clear} and {Vedeu::Output}, this module builds
4
- # {Vedeu::Char} objects.
5
- #
6
- module CharBuilder
7
-
8
- # Builds a new Vedeu::Char object.
9
- #
10
- # @param value [String]
11
- # @param iy [Fixnum]
12
- # @param ix [Fixnum]
13
- # @return [Vedeu::Char]
14
- def char_builder(value, iy, ix)
15
- Vedeu::Char.new({ value: value,
16
- colour: interface.colour,
17
- style: interface.style,
18
- position: origin(iy, ix) })
19
- end
20
-
21
- # Returns the position of the cursor at the top-left coordinate, relative to
22
- # the interface's position.
23
- #
24
- # @param y_index [Fixnum]
25
- # @param x_index [Fixnum]
26
- # @return [Vedeu::Position]
27
- def origin(y_index = 0, x_index = 0)
28
- Vedeu::IndexPosition.new(y_index,
29
- x_index,
30
- interface.top,
31
- interface.left).to_position
32
- end
33
-
34
- end # CharBuilder
35
-
36
- end # Vedeu
@@ -1,50 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Vedeu
4
-
5
- describe CharBuilder do
6
-
7
- let(:described) { Vedeu::CharBuilder }
8
-
9
- # describe '#origin' do
10
- # it 'returns the origin for the interface' do
11
- # geometry = Geometry.new({ width: 5, height: 5 })
12
- # geometry.origin.must_be_instance_of(Vedeu::Position)
13
- # geometry.origin.y.must_equal(1)
14
- # geometry.origin.x.must_equal(1)
15
- # end
16
-
17
- # it 'returns the origin for the interface' do
18
- # geometry = Geometry.new({ width: 5, height: 5, centred: true })
19
- # geometry.origin.must_be_instance_of(Vedeu::Position)
20
- # geometry.origin.y.must_equal(10)
21
- # geometry.origin.x.must_equal(38)
22
- # end
23
-
24
- # it 'returns the line position relative to the origin' do
25
- # geometry = Geometry.new({ width: 5, height: 5 })
26
- # geometry.origin(3).must_be_instance_of(Vedeu::Position)
27
- # geometry.origin(3).y.must_equal(4)
28
- # geometry.origin(3).x.must_equal(1)
29
- # end
30
-
31
- # it 'returns the origin for the interface when the interface' \
32
- # ' is at a custom position' do
33
- # geometry = Geometry.new({ width: 5, height: 5, x: 3, y: 6 })
34
- # geometry.origin.must_be_instance_of(Vedeu::Position)
35
- # geometry.origin.y.must_equal(6)
36
- # geometry.origin.x.must_equal(3)
37
- # end
38
-
39
- # it 'returns the line position relative to the origin when the' \
40
- # ' interface is at a custom position' do
41
- # geometry = Geometry.new({ width: 5, height: 5, x: 3, y: 6 })
42
- # geometry.origin(3).must_be_instance_of(Vedeu::Position)
43
- # geometry.origin(3).y.must_equal(9)
44
- # geometry.origin(3).x.must_equal(3)
45
- # end
46
- # end
47
-
48
- end # CharBuilder
49
-
50
- end # Vedeu