vedeu 0.6.20 → 0.6.21
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/.yardopts +1 -1
- data/README.md +4 -0
- data/Rakefile +13 -0
- data/bin/vedeu_drb_server +6 -6
- data/docs/api.md +14 -0
- data/docs/dsl.md +12 -12
- data/docs/events/document.md +4 -2
- data/docs/events/drb.md +4 -0
- data/docs/events/focus.md +2 -0
- data/docs/events/menu.md +2 -0
- data/docs/events/movement.md +7 -5
- data/docs/events/refresh.md +2 -0
- data/docs/events/system.md +5 -0
- data/docs/events/view.md +2 -0
- data/docs/events/visibility.md +2 -0
- data/lib/vedeu.rb +0 -23
- data/lib/vedeu/all.rb +2 -4
- data/lib/vedeu/application/application_view.rb +1 -1
- data/lib/vedeu/borders/all.rb +3 -3
- data/lib/vedeu/borders/border.rb +2 -2
- data/lib/vedeu/borders/dsl.rb +21 -27
- data/lib/vedeu/borders/null.rb +2 -15
- data/lib/vedeu/borders/render.rb +1 -1
- data/lib/vedeu/borders/repository.rb +9 -0
- data/lib/vedeu/buffers/buffer.rb +2 -2
- data/lib/vedeu/buffers/null.rb +1 -31
- data/lib/vedeu/buffers/refresh.rb +8 -8
- data/lib/vedeu/buffers/repository.rb +9 -0
- data/lib/vedeu/colours/backgrounds.rb +9 -0
- data/lib/vedeu/colours/colour.rb +1 -1
- data/lib/vedeu/colours/foregrounds.rb +9 -0
- data/lib/vedeu/common.rb +22 -13
- data/lib/vedeu/configuration/configuration.rb +6 -0
- data/lib/vedeu/cursors/cursor.rb +13 -8
- data/lib/vedeu/cursors/refresh.rb +2 -2
- data/lib/vedeu/cursors/repository.rb +18 -1
- data/lib/vedeu/distributed/server.rb +23 -0
- data/lib/vedeu/distributed/templates/default_borders.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_geometries.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_interfaces.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_keymaps.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_menus.vedeu +1 -1
- data/lib/vedeu/distributed/templates/default_views.vedeu +1 -1
- data/lib/vedeu/dsl/composition.rb +7 -17
- data/lib/vedeu/dsl/dsl.rb +12 -0
- data/lib/vedeu/dsl/interface.rb +32 -33
- data/lib/vedeu/dsl/keymap.rb +13 -19
- data/lib/vedeu/dsl/line.rb +3 -13
- data/lib/vedeu/dsl/shared.rb +5 -5
- data/lib/vedeu/dsl/stream.rb +0 -10
- data/lib/vedeu/dsl/use.rb +6 -6
- data/lib/vedeu/dsl/view.rb +17 -19
- data/lib/vedeu/editor/cursor.rb +32 -10
- data/lib/vedeu/editor/document.rb +33 -35
- data/lib/vedeu/editor/editor.rb +3 -4
- data/lib/vedeu/editor/insert.rb +1 -1
- data/lib/vedeu/editor/line.rb +1 -8
- data/lib/vedeu/editor/lines.rb +1 -1
- data/lib/vedeu/editor/repository.rb +9 -0
- data/lib/vedeu/esc/esc.rb +2 -1
- data/lib/vedeu/events/aliases.rb +8 -1
- data/lib/vedeu/events/event.rb +8 -0
- data/lib/vedeu/events/repository.rb +9 -0
- data/lib/vedeu/events/trigger.rb +9 -5
- data/lib/vedeu/geometry/coordinate.rb +2 -2
- data/lib/vedeu/geometry/dsl.rb +32 -38
- data/lib/vedeu/geometry/generic_coordinate.rb +1 -1
- data/lib/vedeu/geometry/geometry.rb +3 -3
- data/lib/vedeu/geometry/null.rb +2 -24
- data/lib/vedeu/geometry/repository.rb +9 -0
- data/lib/vedeu/groups/clear.rb +7 -3
- data/lib/vedeu/groups/dsl.rb +29 -35
- data/lib/vedeu/groups/group.rb +28 -4
- data/lib/vedeu/groups/refresh.rb +3 -2
- data/lib/vedeu/groups/repository.rb +9 -0
- data/lib/vedeu/input/capture.rb +1 -1
- data/lib/vedeu/input/keymap.rb +2 -1
- data/lib/vedeu/input/keymaps.rb +9 -0
- data/lib/vedeu/input/mapper.rb +4 -0
- data/lib/vedeu/input/translator.rb +1 -1
- data/lib/vedeu/logging/debug.rb +13 -0
- data/lib/vedeu/logging/log.rb +8 -0
- data/lib/vedeu/logging/timer.rb +13 -0
- data/lib/vedeu/menus/dsl.rb +8 -18
- data/lib/vedeu/menus/menu.rb +8 -4
- data/lib/vedeu/menus/null.rb +1 -1
- data/lib/vedeu/menus/repository.rb +9 -0
- data/lib/vedeu/models/cell.rb +5 -0
- data/lib/vedeu/models/escape.rb +5 -0
- data/lib/vedeu/models/focus.rb +20 -5
- data/lib/vedeu/models/interface.rb +10 -1
- data/lib/vedeu/models/interfaces.rb +9 -0
- data/lib/vedeu/models/toggleable.rb +19 -4
- data/lib/vedeu/models/views/char.rb +6 -1
- data/lib/vedeu/models/views/html_char.rb +1 -4
- data/lib/vedeu/models/views/line.rb +1 -1
- data/lib/vedeu/models/views/view.rb +1 -1
- data/lib/vedeu/null/generic.rb +14 -2
- data/lib/vedeu/null/interface.rb +1 -1
- data/lib/vedeu/null/view.rb +1 -1
- data/lib/vedeu/output/clear/interface.rb +5 -1
- data/lib/vedeu/output/compressor.rb +8 -4
- data/lib/vedeu/output/direct.rb +4 -4
- data/lib/vedeu/output/presentation/all.rb +15 -0
- data/lib/vedeu/output/presentation/presentation.rb +0 -7
- data/lib/vedeu/output/refresh/refresh.rb +1 -3
- data/lib/vedeu/output/renderers/all.rb +10 -0
- data/lib/vedeu/output/renderers/terminal.rb +1 -3
- data/lib/vedeu/repositories/collection.rb +3 -3
- data/lib/vedeu/repositories/model.rb +1 -1
- data/lib/vedeu/repositories/repository.rb +8 -8
- data/lib/vedeu/repositories/store.rb +3 -2
- data/lib/vedeu/runtime/application.rb +4 -0
- data/lib/vedeu/runtime/bootstrap.rb +1 -1
- data/lib/vedeu/runtime/flags.rb +7 -0
- data/lib/vedeu/runtime/main_loop.rb +2 -0
- data/lib/vedeu/runtime/router.rb +4 -0
- data/lib/vedeu/templating/decoder.rb +1 -1
- data/lib/vedeu/templating/encoder.rb +1 -1
- data/lib/vedeu/templating/helpers.rb +2 -0
- data/lib/vedeu/templating/template.rb +1 -1
- data/lib/vedeu/terminal/buffer.rb +7 -0
- data/lib/vedeu/terminal/terminal.rb +8 -0
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/borders/dsl_test.rb +0 -6
- data/test/lib/vedeu/borders/null_test.rb +0 -12
- data/test/lib/vedeu/buffers/null_test.rb +0 -37
- data/test/lib/vedeu/common_test.rb +33 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +1 -1
- data/test/lib/vedeu/dsl/composition_test.rb +0 -6
- data/test/lib/vedeu/dsl/dsl_test.rb +1 -0
- data/test/lib/vedeu/dsl/interface_test.rb +0 -6
- data/test/lib/vedeu/dsl/keymap_test.rb +0 -5
- data/test/lib/vedeu/dsl/line_test.rb +0 -7
- data/test/lib/vedeu/dsl/stream_test.rb +0 -7
- data/test/lib/vedeu/editor/cursor_test.rb +23 -8
- data/test/lib/vedeu/editor/document_test.rb +27 -23
- data/test/lib/vedeu/editor/line_test.rb +0 -30
- data/test/lib/vedeu/geometry/dsl_test.rb +0 -5
- data/test/lib/vedeu/geometry/null_test.rb +0 -30
- data/test/lib/vedeu/groups/dsl_test.rb +0 -6
- data/test/lib/vedeu/groups/group_test.rb +15 -7
- data/test/lib/vedeu/menus/dsl_test.rb +0 -5
- data/test/lib/vedeu/models/cell_test.rb +4 -0
- data/test/lib/vedeu/models/escape_test.rb +4 -0
- data/test/lib/vedeu/models/views/char_test.rb +4 -0
- data/test/lib/vedeu/null/generic_test.rb +13 -0
- data/test/lib/vedeu/terminal/buffer_test.rb +3 -2
- data/test/lib/vedeu_test.rb +81 -3
- data/test/support/examples/borders_app.rb +1 -3
- data/test/support/examples/drb_app.rb +1 -3
- data/test/support/examples/editor_app.rb +2 -4
- data/test/support/examples/focus_app.rb +1 -3
- data/test/support/examples/hello_world.rb +1 -6
- data/test/support/examples/material_colours_app.rb +1 -3
- data/test/support/examples/view_templates_app/view_templates_app.rb +1 -3
- data/test/support/helpers/model_test_class.rb +1 -5
- data/test/support/who.rb +29 -0
- data/test/test_helper.rb +0 -1
- metadata +5 -17
- data/lib/vedeu/api/all.rb +0 -15
- data/lib/vedeu/api/external.rb +0 -194
- data/lib/vedeu/api/internal.rb +0 -177
- data/test/lib/vedeu/api/external_test.rb +0 -74
- data/test/lib/vedeu/api/internal_test.rb +0 -33
- data/test/support/examples/typed_commands/command.erb +0 -1
- data/test/support/examples/typed_commands/output.erb +0 -1
- data/test/support/examples/typed_commands/status.erb +0 -1
- data/test/support/examples/typed_commands/typed_commands_app.rb +0 -94
data/lib/vedeu/menus/menu.rb
CHANGED
@@ -38,19 +38,19 @@ module Vedeu
|
|
38
38
|
# items for your users to select; and provide interactivity
|
39
39
|
# within your application.
|
40
40
|
#
|
41
|
-
# @param name [String]
|
41
|
+
# @param name [String|Symbol]
|
42
42
|
# @param block [Proc] A set of attributes which define the
|
43
43
|
# features of the menu. See {Vedeu::Menus::DSL#items} and
|
44
44
|
# {Vedeu::Menus::DSL#name}.
|
45
45
|
#
|
46
46
|
# @example
|
47
|
-
# Vedeu.menu
|
47
|
+
# Vedeu.menu :my_interface do
|
48
48
|
# items [:item_1, :item_2, :item_3]
|
49
49
|
# # ...
|
50
50
|
# end
|
51
51
|
#
|
52
52
|
# Vedeu.menu do
|
53
|
-
# name
|
53
|
+
# name :menus_must_have_a_name
|
54
54
|
# items Track.all_my_favourites
|
55
55
|
# # ...
|
56
56
|
# end
|
@@ -67,7 +67,7 @@ module Vedeu
|
|
67
67
|
#
|
68
68
|
# @param attributes [Hash]
|
69
69
|
# @option attributes collection [Array]
|
70
|
-
# @option attributes name [String]
|
70
|
+
# @option attributes name [String|Symbol]
|
71
71
|
# @option attributes current [Fixnum]
|
72
72
|
# @option attributes selected [Fixnum|NilClass]
|
73
73
|
# @return [Vedeu::Menus::Menu]
|
@@ -228,4 +228,8 @@ module Vedeu
|
|
228
228
|
|
229
229
|
end # Menus
|
230
230
|
|
231
|
+
# @!method menu
|
232
|
+
# @see Vedeu::Menus::Menu.menu
|
233
|
+
def_delegators Vedeu::Menus::Menu, :menu
|
234
|
+
|
231
235
|
end # Vedeu
|
data/lib/vedeu/menus/null.rb
CHANGED
@@ -9,7 +9,7 @@ module Vedeu
|
|
9
9
|
# Returns an instance of the Vedeu::Menus::Null class.
|
10
10
|
#
|
11
11
|
# @param attributes [Hash<Symbol => void>]
|
12
|
-
# @option attributes name [String|NilClass]
|
12
|
+
# @option attributes name [String|Symbol|NilClass]
|
13
13
|
# @return [Vedeu::Menus::Null]
|
14
14
|
def initialize(attributes = {})
|
15
15
|
@attributes = attributes
|
data/lib/vedeu/models/cell.rb
CHANGED
data/lib/vedeu/models/escape.rb
CHANGED
data/lib/vedeu/models/focus.rb
CHANGED
@@ -23,7 +23,7 @@ module Vedeu
|
|
23
23
|
# Add an interface name to the focus list unless it is already
|
24
24
|
# registered.
|
25
25
|
#
|
26
|
-
# @param name [String] The name of the interface.
|
26
|
+
# @param name [String|Symbol] The name of the interface.
|
27
27
|
# @param focus [Boolean] When true, prepends the interface name
|
28
28
|
# to the collection, making that interface the currently
|
29
29
|
# focussed interface.
|
@@ -55,10 +55,12 @@ module Vedeu
|
|
55
55
|
# Vedeu.trigger(:_focus_by_name_, name)
|
56
56
|
# Vedeu.focus_by_name('name')
|
57
57
|
#
|
58
|
-
# @param name [String] The interface to focus; must be
|
58
|
+
# @param name [String|Symbol] The interface to focus; must be
|
59
|
+
# defined.
|
59
60
|
# @raise [Vedeu::Error::ModelNotFound] When the interface cannot
|
60
61
|
# be found.
|
61
|
-
# @return [String] The name of the interface now in
|
62
|
+
# @return [String|Symbol] The name of the interface now in
|
63
|
+
# focus.
|
62
64
|
def by_name(name)
|
63
65
|
unless registered?(name)
|
64
66
|
fail Vedeu::Error::ModelNotFound,
|
@@ -89,7 +91,7 @@ module Vedeu
|
|
89
91
|
# @example
|
90
92
|
# Vedeu.focussed?(name)
|
91
93
|
#
|
92
|
-
# @param name [String]
|
94
|
+
# @param name [String|Symbol]
|
93
95
|
# @return [Boolean]
|
94
96
|
def current?(name)
|
95
97
|
current == name
|
@@ -186,7 +188,7 @@ module Vedeu
|
|
186
188
|
# Returns a boolean indicating whether the named model is
|
187
189
|
# registered.
|
188
190
|
#
|
189
|
-
# @param name [String]
|
191
|
+
# @param name [String|Symbol]
|
190
192
|
# @return [Boolean]
|
191
193
|
def registered?(name)
|
192
194
|
return false if empty?
|
@@ -242,4 +244,17 @@ module Vedeu
|
|
242
244
|
|
243
245
|
end # Models
|
244
246
|
|
247
|
+
# @!method focus
|
248
|
+
# @see Vedeu::Models::Focus#focus
|
249
|
+
# @!method focus_by_name
|
250
|
+
# @see Vedeu::Models::Focus#focus_by_name
|
251
|
+
# @!method focussed?
|
252
|
+
# @see Vedeu::Models::Focus#focussed?
|
253
|
+
# @!method focus_next
|
254
|
+
# @see Vedeu::Models::Focus#focus_next
|
255
|
+
# @!method focus_previous
|
256
|
+
# @see Vedeu::Models::Focus#focus_previous
|
257
|
+
def_delegators Vedeu::Models::Focus, :focus, :focus_by_name, :focussed?,
|
258
|
+
:focus_next, :focus_previous
|
259
|
+
|
245
260
|
end # Vedeu
|
@@ -46,7 +46,7 @@ module Vedeu
|
|
46
46
|
# @option attributes colour [Vedeu::Colours::Colour]
|
47
47
|
# @option attributes delay [Float]
|
48
48
|
# @option attributes group [String]
|
49
|
-
# @option attributes name [String]
|
49
|
+
# @option attributes name [String|Symbol]
|
50
50
|
# @option attributes parent [Vedeu::Views::Composition]
|
51
51
|
# @option attributes repository [Vedeu::Models::Interfaces]
|
52
52
|
# @option attributes style [Vedeu::Presentation::Style]
|
@@ -112,4 +112,13 @@ module Vedeu
|
|
112
112
|
|
113
113
|
end # Models
|
114
114
|
|
115
|
+
# @!method hide_interface
|
116
|
+
# @see Vedeu::Toggleable::ClassMethods#hide
|
117
|
+
# @!method show_interface
|
118
|
+
# @see Vedeu::Toggleable::ClassMethods#show
|
119
|
+
# @!method toggle_interface
|
120
|
+
# @see Vedeu::Toggleable::ClassMethods#toggle
|
121
|
+
def_delegators Vedeu::Models::Interface, :hide_interface, :show_interface,
|
122
|
+
:toggle_interface
|
123
|
+
|
115
124
|
end # Vedeu
|
@@ -32,4 +32,13 @@ module Vedeu
|
|
32
32
|
|
33
33
|
end # Models
|
34
34
|
|
35
|
+
# Manipulate the repository of interfaces.
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Vedeu.interfaces
|
39
|
+
#
|
40
|
+
# @!method interfaces
|
41
|
+
# @return [Vedeu::Models::Interfaces]
|
42
|
+
def_delegators Vedeu::Models::Interfaces, :interfaces
|
43
|
+
|
35
44
|
end # Vedeu
|
@@ -48,7 +48,12 @@ module Vedeu
|
|
48
48
|
|
49
49
|
# Hides the model.
|
50
50
|
#
|
51
|
-
# @
|
51
|
+
# @example
|
52
|
+
# Vedeu.hide_cursor(name)
|
53
|
+
# Vedeu.hide_group(name)
|
54
|
+
# Vedeu.hide_interface(name)
|
55
|
+
#
|
56
|
+
# @param name [String|Symbol]
|
52
57
|
# @return [void]
|
53
58
|
def hide(name = nil)
|
54
59
|
model_by_name(repository, name).hide
|
@@ -59,7 +64,12 @@ module Vedeu
|
|
59
64
|
|
60
65
|
# Shows the model.
|
61
66
|
#
|
62
|
-
# @
|
67
|
+
# @example
|
68
|
+
# Vedeu.show_cursor(name)
|
69
|
+
# Vedeu.show_group(name)
|
70
|
+
# Vedeu.show_interface(name)
|
71
|
+
#
|
72
|
+
# @param name [String|Symbol]
|
63
73
|
# @return [void]
|
64
74
|
def show(name = nil)
|
65
75
|
model_by_name(repository, name).show
|
@@ -70,7 +80,12 @@ module Vedeu
|
|
70
80
|
|
71
81
|
# Toggles the visibility of the model.
|
72
82
|
#
|
73
|
-
# @
|
83
|
+
# @example
|
84
|
+
# Vedeu.toggle_cursor(name)
|
85
|
+
# Vedeu.toggle_group(name)
|
86
|
+
# Vedeu.toggle_interface(name)
|
87
|
+
#
|
88
|
+
# @param name [String|Symbol]
|
74
89
|
# @return [void]
|
75
90
|
def toggle(name = nil)
|
76
91
|
model_by_name(repository, name).toggle
|
@@ -83,7 +98,7 @@ module Vedeu
|
|
83
98
|
|
84
99
|
# Fetch the model by name.
|
85
100
|
#
|
86
|
-
# @param name [String]
|
101
|
+
# @param name [String|Symbol]
|
87
102
|
# @param klass [void] The repository of the model.
|
88
103
|
# @return [void]
|
89
104
|
def model_by_name(klass, name = nil)
|
@@ -56,6 +56,11 @@ module Vedeu
|
|
56
56
|
@value = @attributes[:value]
|
57
57
|
end
|
58
58
|
|
59
|
+
# @return [Boolean]
|
60
|
+
def cell?
|
61
|
+
false
|
62
|
+
end
|
63
|
+
|
59
64
|
# When {Vedeu::Output::Viewport#show} has less lines that
|
60
65
|
# required to fill the visible area of the interface, it creates
|
61
66
|
# a line that contains a single {Vedeu::Views::Char} containing
|
@@ -159,7 +164,7 @@ module Vedeu
|
|
159
164
|
}
|
160
165
|
end
|
161
166
|
|
162
|
-
# @return [
|
167
|
+
# @return [Hash<Symbol => Fixnum>]
|
163
168
|
def position_to_hash
|
164
169
|
{
|
165
170
|
y: y,
|
@@ -9,10 +9,7 @@ module Vedeu
|
|
9
9
|
|
10
10
|
include Vedeu::Common
|
11
11
|
|
12
|
-
# @param
|
13
|
-
# @param options [Hash<Symbol => String>]
|
14
|
-
# @option options start_tag [String]
|
15
|
-
# @option options end_tag [String]
|
12
|
+
# @param (see #initialize)
|
16
13
|
# @return [String]
|
17
14
|
def self.render(char, options = {})
|
18
15
|
new(char, options).render
|
@@ -50,7 +50,7 @@ module Vedeu
|
|
50
50
|
# @option attributes client [Vedeu::Client]
|
51
51
|
# @option attributes colour [Vedeu::Colours::Colour]
|
52
52
|
# @option attributes value [Vedeu::Views::Lines]
|
53
|
-
# @option attributes name [String]
|
53
|
+
# @option attributes name [String|Symbol]
|
54
54
|
# @option attributes parent [Vedeu::Views::Composition]
|
55
55
|
# @option attributes style [Vedeu::Presentation::Style]
|
56
56
|
# @option attributes zindex [Fixnum]
|
data/lib/vedeu/null/generic.rb
CHANGED
@@ -11,25 +11,36 @@ module Vedeu
|
|
11
11
|
attr_reader :attributes
|
12
12
|
|
13
13
|
# @!attribute [r] name
|
14
|
-
# @return [String]
|
14
|
+
# @return [String|Symbol]
|
15
15
|
attr_reader :name
|
16
16
|
|
17
17
|
# Returns an instance of the Vedeu::Null::Generic class.
|
18
18
|
#
|
19
19
|
# @param attributes [Hash<Symbol => void>]
|
20
|
-
# @option attributes name [String|NilClass]
|
20
|
+
# @option attributes name [String|Symbol|NilClass]
|
21
21
|
# @return [Vedeu::Null::Generic]
|
22
22
|
def initialize(attributes = {})
|
23
23
|
@attributes = attributes
|
24
24
|
@name = @attributes[:name]
|
25
25
|
end
|
26
26
|
|
27
|
+
# @return [FalseClass]
|
28
|
+
def falsy
|
29
|
+
false
|
30
|
+
end
|
31
|
+
alias_method :centred, :falsy
|
32
|
+
alias_method :enabled?, :falsy
|
33
|
+
alias_method :maximise, :falsy
|
34
|
+
alias_method :maximised?, :falsy
|
35
|
+
alias_method :unmaximise, :falsy
|
36
|
+
|
27
37
|
# @return [NilClass]
|
28
38
|
def null(*)
|
29
39
|
nil
|
30
40
|
end
|
31
41
|
alias_method :add, :null
|
32
42
|
alias_method :bottom_item, :null
|
43
|
+
alias_method :clear, :null
|
33
44
|
alias_method :colour, :null
|
34
45
|
alias_method :current_item, :null
|
35
46
|
alias_method :deselect_item, :null
|
@@ -39,6 +50,7 @@ module Vedeu
|
|
39
50
|
alias_method :next_item, :null
|
40
51
|
alias_method :parent, :null
|
41
52
|
alias_method :prev_item, :null
|
53
|
+
alias_method :render, :null
|
42
54
|
alias_method :select_item, :null
|
43
55
|
alias_method :selected_item, :null
|
44
56
|
alias_method :show, :null
|
data/lib/vedeu/null/interface.rb
CHANGED
@@ -15,7 +15,7 @@ module Vedeu
|
|
15
15
|
# Returns a new instance of Vedeu::Null::Interface.
|
16
16
|
#
|
17
17
|
# @param attributes [Hash<Symbol => void>]
|
18
|
-
# @option attributes name [String]
|
18
|
+
# @option attributes name [String|Symbol]
|
19
19
|
# @return [Vedeu::Null::Interface]
|
20
20
|
def initialize(attributes = {})
|
21
21
|
@attributes = attributes
|
data/lib/vedeu/null/view.rb
CHANGED
@@ -11,7 +11,7 @@ module Vedeu
|
|
11
11
|
# Returns a new instance of Vedeu::Null::View.
|
12
12
|
#
|
13
13
|
# @param attributes [Hash<Symbol => void>]
|
14
|
-
# @option attributes name [String]
|
14
|
+
# @option attributes name [String|Symbol]
|
15
15
|
# @return [Vedeu::Null::View]
|
16
16
|
def initialize(attributes = {})
|
17
17
|
@attributes = attributes
|
@@ -25,7 +25,7 @@ module Vedeu
|
|
25
25
|
|
26
26
|
# Return a new instance of Vedeu::Clear::Interface.
|
27
27
|
#
|
28
|
-
# @param name [String] The name of the interface to clear.
|
28
|
+
# @param name [String|Symbol] The name of the interface to clear.
|
29
29
|
# @return [Vedeu::Clear::Interface]
|
30
30
|
def initialize(name)
|
31
31
|
@name = name
|
@@ -82,4 +82,8 @@ module Vedeu
|
|
82
82
|
|
83
83
|
end # Clear
|
84
84
|
|
85
|
+
# @!method clear_by_name
|
86
|
+
# @see Vedeu::Clear::Interface.render
|
87
|
+
def_delegators Vedeu::Clear::Interface, :clear_by_name
|
88
|
+
|
85
89
|
end # Vedeu
|
@@ -9,7 +9,9 @@ module Vedeu
|
|
9
9
|
#
|
10
10
|
class Compressor
|
11
11
|
|
12
|
-
|
12
|
+
include Vedeu::Common
|
13
|
+
|
14
|
+
# @param (see #initialize)
|
13
15
|
# @return [String]
|
14
16
|
def self.render(output)
|
15
17
|
new(output).render
|
@@ -44,9 +46,9 @@ module Vedeu
|
|
44
46
|
|
45
47
|
# @return [Array]
|
46
48
|
def content
|
47
|
-
return [] if
|
49
|
+
return [] if absent?(output)
|
48
50
|
|
49
|
-
output.content.delete_if
|
51
|
+
@content ||= output.content.delete_if(&:cell?)
|
50
52
|
end
|
51
53
|
|
52
54
|
# @return [String]
|
@@ -69,7 +71,9 @@ module Vedeu
|
|
69
71
|
def uncompress
|
70
72
|
out = ''
|
71
73
|
|
72
|
-
content.each
|
74
|
+
content.each do |cell|
|
75
|
+
out << cell.to_s
|
76
|
+
end
|
73
77
|
|
74
78
|
out
|
75
79
|
end
|
data/lib/vedeu/output/direct.rb
CHANGED
@@ -6,9 +6,7 @@ module Vedeu
|
|
6
6
|
#
|
7
7
|
class Direct
|
8
8
|
|
9
|
-
# @param
|
10
|
-
# @param x [Fixnum]
|
11
|
-
# @param y [Fixnum]
|
9
|
+
# @param (see #initialize)
|
12
10
|
# @return [String]
|
13
11
|
def self.write(value:, x:, y:)
|
14
12
|
new(value: value, x: x, y: y).write
|
@@ -28,6 +26,8 @@ module Vedeu
|
|
28
26
|
|
29
27
|
# @return [String]
|
30
28
|
def write
|
29
|
+
Vedeu.log(type: :output,
|
30
|
+
message: 'Directly writing output to terminal.')
|
31
31
|
Vedeu::Terminal.output(output)
|
32
32
|
|
33
33
|
output
|
@@ -51,7 +51,7 @@ module Vedeu
|
|
51
51
|
|
52
52
|
# @return [String]
|
53
53
|
def output
|
54
|
-
(Array(position) + Array(value)).join
|
54
|
+
@output ||= (Array(position) + Array(value)).join
|
55
55
|
end
|
56
56
|
|
57
57
|
# @return [String]
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'vedeu/output/presentation/colour'
|
2
|
+
require 'vedeu/output/presentation/styles'
|
3
|
+
require 'vedeu/output/presentation/style'
|
4
|
+
require 'vedeu/output/presentation/presentation'
|
5
|
+
|
6
|
+
module Vedeu
|
7
|
+
|
8
|
+
# This module allows the sharing of presentation concerns between
|
9
|
+
# the models: Interface, View, Line and Stream.
|
10
|
+
#
|
11
|
+
module Presentation
|
12
|
+
|
13
|
+
end # Presentation
|
14
|
+
|
15
|
+
end # Vedeu
|