vedeu 0.4.54 → 0.4.55

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vedeu.rb +1 -1
  3. data/lib/vedeu/all.rb +5 -1
  4. data/lib/vedeu/api.rb +7 -3
  5. data/lib/vedeu/application/all.rb +6 -6
  6. data/lib/vedeu/application/application_controller.rb +1 -1
  7. data/lib/vedeu/application/application_helper.rb +1 -1
  8. data/lib/vedeu/application/application_view.rb +1 -1
  9. data/lib/vedeu/application/view.rb +10 -0
  10. data/lib/vedeu/bindings/all.rb +13 -5
  11. data/lib/vedeu/bootstrap.rb +0 -2
  12. data/lib/vedeu/buffers/all.rb +3 -2
  13. data/lib/vedeu/{repositories/repositories → buffers}/buffers.rb +1 -1
  14. data/lib/vedeu/cli/all.rb +1 -1
  15. data/lib/vedeu/cli/generator/helpers.rb +2 -2
  16. data/lib/vedeu/colours/all.rb +7 -0
  17. data/lib/vedeu/{output → colours}/background.rb +0 -0
  18. data/lib/vedeu/{repositories/repositories → colours}/backgrounds.rb +0 -0
  19. data/lib/vedeu/{output → colours}/colour.rb +0 -0
  20. data/lib/vedeu/{output → colours}/colour_translator.rb +0 -0
  21. data/lib/vedeu/{repositories/repositories → colours}/colours.rb +0 -0
  22. data/lib/vedeu/{output → colours}/foreground.rb +0 -0
  23. data/lib/vedeu/{repositories/repositories → colours}/foregrounds.rb +0 -0
  24. data/lib/vedeu/{support/common.rb → common.rb} +0 -0
  25. data/lib/vedeu/configuration/all.rb +3 -3
  26. data/lib/vedeu/cursor/all.rb +5 -4
  27. data/lib/vedeu/cursor/cursor.rb +1 -1
  28. data/lib/vedeu/{repositories/repositories → cursor}/cursors.rb +2 -19
  29. data/lib/vedeu/distributed/all.rb +5 -5
  30. data/lib/vedeu/distributed/test_application.rb +1 -1
  31. data/lib/vedeu/dsl/all.rb +1 -1
  32. data/lib/vedeu/dsl/composition.rb +1 -1
  33. data/lib/vedeu/dsl/use.rb +1 -1
  34. data/lib/vedeu/events/all.rb +4 -3
  35. data/lib/vedeu/{repositories/repositories → events}/events.rb +0 -0
  36. data/lib/vedeu/geometry/all.rb +14 -9
  37. data/lib/vedeu/{repositories/repositories → geometry}/geometries.rb +0 -0
  38. data/lib/vedeu/input/all.rb +5 -4
  39. data/lib/vedeu/{repositories/repositories → input}/keymaps.rb +0 -0
  40. data/lib/vedeu/{support/log.rb → log.rb} +0 -0
  41. data/lib/vedeu/models/all.rb +14 -10
  42. data/lib/vedeu/models/group.rb +3 -3
  43. data/lib/vedeu/{repositories/repositories → models}/groups.rb +2 -16
  44. data/lib/vedeu/models/interface.rb +1 -1
  45. data/lib/vedeu/{repositories/repositories → models}/interfaces.rb +1 -1
  46. data/lib/vedeu/{repositories/repositories → models}/menus.rb +0 -0
  47. data/lib/vedeu/{support → models}/toggleable.rb +4 -4
  48. data/lib/vedeu/null/all.rb +5 -5
  49. data/lib/vedeu/null/border.rb +5 -3
  50. data/lib/vedeu/null/buffer.rb +5 -3
  51. data/lib/vedeu/null/generic.rb +6 -1
  52. data/lib/vedeu/null/geometry.rb +6 -4
  53. data/lib/vedeu/null/interface.rb +9 -10
  54. data/lib/vedeu/output/all.rb +21 -21
  55. data/lib/vedeu/{repositories/repositories → output}/borders.rb +0 -0
  56. data/lib/vedeu/output/clear/all.rb +2 -2
  57. data/lib/vedeu/output/html_char.rb +1 -1
  58. data/lib/vedeu/output/presentation.rb +25 -0
  59. data/lib/vedeu/output/refresh.rb +1 -1
  60. data/lib/vedeu/output/refresh_group.rb +5 -3
  61. data/lib/vedeu/output/renderers/all.rb +8 -8
  62. data/lib/vedeu/output/renderers/html.rb +2 -2
  63. data/lib/vedeu/repositories/all.rb +5 -7
  64. data/lib/vedeu/repositories/collection.rb +42 -0
  65. data/lib/vedeu/repositories/model.rb +2 -2
  66. data/lib/vedeu/repositories/repository.rb +11 -2
  67. data/lib/vedeu/templating/all.rb +4 -3
  68. data/lib/vedeu/templating/template.rb +75 -0
  69. data/lib/vedeu/{support/terminal.rb → terminal.rb} +0 -0
  70. data/lib/vedeu/{support/timer.rb → timer.rb} +0 -0
  71. data/lib/vedeu/version.rb +1 -1
  72. data/test/lib/vedeu/application/view_test.rb +11 -1
  73. data/test/lib/vedeu/bootstrap_test.rb +5 -5
  74. data/test/lib/vedeu/{repositories/repositories → buffers}/buffers_test.rb +0 -0
  75. data/test/lib/vedeu/cli/generator/helpers_test.rb +1 -1
  76. data/test/lib/vedeu/{output → colours}/background_test.rb +0 -0
  77. data/test/lib/vedeu/{repositories/repositories → colours}/backgrounds_test.rb +0 -0
  78. data/test/lib/vedeu/{output → colours}/colour_test.rb +0 -0
  79. data/test/lib/vedeu/{output → colours}/colour_translator_test.rb +0 -0
  80. data/test/lib/vedeu/{repositories/repositories → colours}/colours_test.rb +0 -0
  81. data/test/lib/vedeu/{output → colours}/foreground_test.rb +0 -0
  82. data/test/lib/vedeu/{repositories/repositories → colours}/foregrounds_test.rb +0 -0
  83. data/test/lib/vedeu/{support/common_test.rb → common_test.rb} +0 -0
  84. data/test/lib/vedeu/{repositories/repositories → cursor}/cursors_test.rb +0 -21
  85. data/test/lib/vedeu/dsl/composition_test.rb +1 -1
  86. data/test/lib/vedeu/dsl/use_test.rb +9 -0
  87. data/test/lib/vedeu/{repositories/repositories → events}/events_test.rb +0 -0
  88. data/test/lib/vedeu/{repositories/repositories → geometry}/geometries_test.rb +0 -0
  89. data/test/lib/vedeu/{repositories/repositories → input}/keymaps_test.rb +0 -0
  90. data/test/lib/vedeu/{support/log_test.rb → log_test.rb} +0 -0
  91. data/test/lib/vedeu/models/groups_test.rb +21 -0
  92. data/test/lib/vedeu/{repositories/repositories → models}/interfaces_test.rb +0 -0
  93. data/test/lib/vedeu/{repositories/repositories → models}/menus_test.rb +0 -0
  94. data/test/lib/vedeu/{support → models}/toggleable_test.rb +0 -0
  95. data/test/lib/vedeu/null/border_test.rb +9 -1
  96. data/test/lib/vedeu/null/buffer_test.rb +9 -1
  97. data/test/lib/vedeu/null/generic_test.rb +10 -1
  98. data/test/lib/vedeu/null/geometry_test.rb +9 -1
  99. data/test/lib/vedeu/null/interface_test.rb +11 -8
  100. data/test/lib/vedeu/{repositories/repositories → output}/borders_test.rb +0 -0
  101. data/test/lib/vedeu/output/compressor_test.rb +47 -2
  102. data/test/lib/vedeu/output/refresh_group_test.rb +5 -5
  103. data/test/lib/vedeu/output/refresh_test.rb +1 -1
  104. data/test/lib/vedeu/repositories/collection_test.rb +78 -0
  105. data/test/lib/vedeu/repositories/repository_test.rb +8 -3
  106. data/test/lib/vedeu/templating/template_test.rb +46 -0
  107. data/test/lib/vedeu/{support/terminal_test.rb → terminal_test.rb} +0 -0
  108. data/test/lib/vedeu/{support/timer_test.rb → timer_test.rb} +0 -0
  109. data/test/support/all_seeds.sh +9 -0
  110. data/test/support/templates/inline.erb +1 -0
  111. data/test/test_helper.rb +7 -1
  112. metadata +74 -78
  113. data/lib/vedeu/output/view_helpers/all.rb +0 -5
  114. data/lib/vedeu/output/view_helpers/view_helpers.rb +0 -21
  115. data/lib/vedeu/repositories/collections/all.rb +0 -47
  116. data/lib/vedeu/repositories/repositories/all.rb +0 -14
  117. data/lib/vedeu/support/all.rb +0 -5
  118. data/lib/vedeu/support/template.rb +0 -73
  119. data/test/lib/vedeu/output/view_helpers/view_helpers_test.rb +0 -30
  120. data/test/lib/vedeu/repositories/collections/all_test.rb +0 -83
  121. data/test/lib/vedeu/repositories/repositories/groups_test.rb +0 -35
  122. data/test/lib/vedeu/support/template_test.rb +0 -44
@@ -1,5 +0,0 @@
1
- require 'vedeu/output/view_helpers/view_helpers'
2
-
3
- module Vedeu
4
-
5
- end # Vedeu
@@ -1,21 +0,0 @@
1
- module Vedeu
2
-
3
- # This module can be included client application classes to provide various
4
- # further functionality and simplify Vedeu view construction.
5
- #
6
- # @api public
7
- module ViewHelpers
8
-
9
- # Returns the current local time.
10
- #
11
- # @example
12
- # time_now # => Mon 29 Jun 19:26
13
- #
14
- # @return [String]
15
- def time_now
16
- Time.now.strftime('%a %e %b %k:%M')
17
- end
18
-
19
- end # ViewHelpers
20
-
21
- end # Vedeu
@@ -1,47 +0,0 @@
1
- require 'vedeu/repositories/collection'
2
-
3
- module Vedeu
4
-
5
- # A collection of {Vedeu::Char} instances.
6
- #
7
- # @api private
8
- class Chars < Vedeu::Collection
9
-
10
- end # Chars
11
-
12
- # A collection of {Vedeu::Event} instances.
13
- #
14
- # @api private
15
- class EventCollection < Vedeu::Collection
16
-
17
- end # EventCollection
18
-
19
- # A collection of {Vedeu::Interface} instances.
20
- #
21
- # @api private
22
- class InterfaceCollection < Vedeu::Collection
23
-
24
- end # InterfaceCollection
25
-
26
- # A collection of {Vedeu::Key} instances.
27
- #
28
- # @api private
29
- class Keys < Vedeu::Collection
30
-
31
- end # Keys
32
-
33
- # A collection of {Vedeu::Line} instances.
34
- #
35
- # @api private
36
- class Lines < Vedeu::Collection
37
-
38
- end # Lines
39
-
40
- # A collection of {Vedeu::Stream} instances.
41
- #
42
- # @api private
43
- class Streams < Vedeu::Collection
44
-
45
- end # Streams
46
-
47
- end
@@ -1,14 +0,0 @@
1
- require 'vedeu/repositories/repository'
2
-
3
- require_relative 'colours'
4
- require_relative 'backgrounds'
5
- require_relative 'foregrounds'
6
- require_relative 'borders'
7
- require_relative 'buffers'
8
- require_relative 'cursors'
9
- require_relative 'events'
10
- require_relative 'geometries'
11
- require_relative 'groups'
12
- require_relative 'interfaces'
13
- require_relative 'keymaps'
14
- require_relative 'menus'
@@ -1,5 +0,0 @@
1
- require_relative 'common'
2
- require_relative 'template'
3
- require_relative 'terminal'
4
- require_relative 'timer'
5
- require_relative 'toggleable'
@@ -1,73 +0,0 @@
1
- require 'vedeu/templating/preprocessor'
2
-
3
- module Vedeu
4
-
5
- # Generic class to loading a template and parsing it via ERb.
6
- #
7
- # @api private
8
- class Template
9
-
10
- include Vedeu::ViewHelpers
11
-
12
- # @param (see Vedeu::Template#new)
13
- # @return [void]
14
- def self.parse(object, path, options = {})
15
- new(object, path, options).parse
16
- end
17
-
18
- # Returns a new instance of Vedeu::Template.
19
- #
20
- # @param object [Class]
21
- # @param path [String]
22
- # @param options [Hash]
23
- # @option options name [String] The name of an interface.
24
- # @return [Template]
25
- def initialize(object, path, options = {})
26
- @object = object
27
- @path = path.to_s
28
- @options = options || {}
29
- end
30
-
31
- # @return [void]
32
- def parse
33
- ERB.new(load, nil, '-').result(binding)
34
- end
35
-
36
- protected
37
-
38
- # @!attribute [r] object
39
- # @return [Class]
40
- attr_reader :object
41
-
42
- # @!attribute [r] options
43
- # @return [Hash]
44
- attr_reader :options
45
-
46
- private
47
-
48
- # @return [String]
49
- def preprocess
50
- Vedeu::Templating::Preprocessor.process(load)
51
- end
52
-
53
- # @return [String]
54
- def load
55
- File.read(path)
56
- end
57
-
58
- # @raise [MissingRequired] when the path is empty.
59
- # @raise [MissingRequired] when the path does not exist.
60
- # @return [String]
61
- def path
62
- fail MissingRequired, 'No path to template specified.' if @path.empty?
63
-
64
- unless File.exist?(@path)
65
- fail MissingRequired, "Template file cannot be found. (#{@path})"
66
- end
67
-
68
- @path
69
- end
70
-
71
- end # Template
72
-
73
- end # Vedeu
@@ -1,30 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Vedeu
4
-
5
- class ViewHelpersTestClass
6
-
7
- include Vedeu::ViewHelpers
8
-
9
- end
10
-
11
- describe ViewHelpers do
12
-
13
- let(:described) { ViewHelpers }
14
- let(:instance) { ViewHelpersTestClass.new }
15
-
16
- describe '#time_now' do
17
- let(:_time) { Time.new(2015, 6, 23, 22, 25, 17) }
18
-
19
- before { Time.stubs(:now).returns(_time) }
20
-
21
- subject { instance.time_now }
22
-
23
- it 'returns a formatted time' do
24
- subject.must_equal('Tue 23 Jun 22:25')
25
- end
26
- end
27
-
28
- end # ViewHelpers
29
-
30
- end # Vedeu
@@ -1,83 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Vedeu
4
-
5
- describe Chars do
6
-
7
- let(:described) { Vedeu::Chars }
8
- let(:instance) { described.new }
9
-
10
- it { described.superclass.must_equal(Vedeu::Collection) }
11
-
12
- describe '#initialize' do
13
- it { instance.must_be_instance_of(described) }
14
- end
15
-
16
- end # Chars
17
-
18
- describe EventCollection do
19
-
20
- let(:described) { Vedeu::EventCollection }
21
- let(:instance) { described.new }
22
-
23
- it { described.superclass.must_equal(Vedeu::Collection) }
24
-
25
- describe '#initialize' do
26
- it { instance.must_be_instance_of(described) }
27
- end
28
-
29
- end # EventCollection
30
-
31
- describe InterfaceCollection do
32
-
33
- let(:described) { Vedeu::InterfaceCollection }
34
- let(:instance) { described.new }
35
-
36
- it { described.superclass.must_equal(Vedeu::Collection) }
37
-
38
- describe '#initialize' do
39
- it { instance.must_be_instance_of(described) }
40
- end
41
-
42
- end # InterfaceCollection
43
-
44
- describe Keys do
45
-
46
- let(:described) { Vedeu::Keys }
47
- let(:instance) { described.new }
48
-
49
- it { described.superclass.must_equal(Vedeu::Collection) }
50
-
51
- describe '#initialize' do
52
- it { instance.must_be_instance_of(described) }
53
- end
54
-
55
- end # Keys
56
-
57
- describe Lines do
58
-
59
- let(:described) { Vedeu::Lines }
60
- let(:instance) { described.new }
61
-
62
- it { described.superclass.must_equal(Vedeu::Collection) }
63
-
64
- describe '#initialize' do
65
- it { instance.must_be_instance_of(described) }
66
- end
67
-
68
- end # Lines
69
-
70
- describe Streams do
71
-
72
- let(:described) { Vedeu::Streams }
73
- let(:instance) { described.new }
74
-
75
- it { described.superclass.must_equal(Vedeu::Collection) }
76
-
77
- describe '#initialize' do
78
- it { instance.must_be_instance_of(described) }
79
- end
80
-
81
- end # Streams
82
-
83
- end # Vedeu
@@ -1,35 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Vedeu
4
-
5
- describe Groups do
6
-
7
- let(:described) { Vedeu::Groups }
8
-
9
- it { described.must_respond_to(:groups) }
10
-
11
- describe '#by_name' do
12
- let(:_name) { 'carbon' }
13
-
14
- subject { described.groups.by_name(_name) }
15
-
16
- context 'when the group exists' do
17
- before do
18
- Vedeu.group 'carbon' do
19
- end
20
- end
21
- after { Vedeu.groups.reset }
22
-
23
- it { subject.must_be_instance_of(Vedeu::Group) }
24
- end
25
-
26
- context 'when the group does not exist' do
27
- let(:_name) { 'nitrogen' }
28
-
29
- it { subject.must_be_instance_of(Vedeu::Group) }
30
- end
31
- end
32
-
33
- end # Groups
34
-
35
- end # Vedeu
@@ -1,44 +0,0 @@
1
- require 'test_helper'
2
-
3
- module Vedeu
4
-
5
- describe Template do
6
-
7
- let(:described) { Vedeu::Template }
8
- let(:instance) { described.new(object, path) }
9
- let(:object) {}
10
- let(:path) {}
11
-
12
- describe '#initialize' do
13
- it { instance.must_be_instance_of(described) }
14
- it { instance.instance_variable_get('@object').must_equal(object) }
15
- it { instance.instance_variable_get('@path').must_equal('') }
16
- end
17
-
18
- describe '.parse' do
19
- subject { described.parse(object, path) }
20
-
21
- before { File.stubs(:read).returns('') }
22
-
23
- context 'when the path is empty' do
24
- it { proc { subject }.must_raise(MissingRequired) }
25
- end
26
-
27
- context 'when the path is does not exist' do
28
- let(:path) { '/tmp/vedeu_does_not_exist' }
29
-
30
- it { proc { subject }.must_raise(MissingRequired) }
31
- end
32
-
33
- context 'when the path exists' do
34
- let(:path) { '/tmp/vedeu_does_exist' }
35
-
36
- before { File.stubs(:exist?).returns(true) }
37
-
38
- it { subject.must_equal('') }
39
- end
40
- end
41
-
42
- end # Template
43
-
44
- end # Vedeu