vedeu 0.6.12 → 0.6.13
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/lib/vedeu/bindings/application.rb +4 -0
- data/lib/vedeu/bindings/document.rb +4 -0
- data/lib/vedeu/bindings/focus.rb +4 -0
- data/lib/vedeu/bindings/menus.rb +4 -0
- data/lib/vedeu/bindings/movement.rb +4 -0
- data/lib/vedeu/bindings/refresh.rb +4 -0
- data/lib/vedeu/bindings/system.rb +4 -0
- data/lib/vedeu/bindings/visibility.rb +4 -0
- data/lib/vedeu/borders/dsl.rb +2 -3
- data/lib/vedeu/configuration/api.rb +26 -0
- data/lib/vedeu/configuration/configuration.rb +16 -0
- data/lib/vedeu/dsl/composition.rb +2 -3
- data/lib/vedeu/dsl/group.rb +2 -3
- data/lib/vedeu/dsl/interface.rb +2 -4
- data/lib/vedeu/dsl/keymap.rb +24 -21
- data/lib/vedeu/dsl/line.rb +4 -6
- data/lib/vedeu/dsl/presentation.rb +16 -12
- data/lib/vedeu/dsl/shared.rb +18 -14
- data/lib/vedeu/dsl/stream.rb +2 -3
- data/lib/vedeu/dsl/text.rb +6 -4
- data/lib/vedeu/dsl/view.rb +6 -8
- data/lib/vedeu/error.rb +12 -0
- data/lib/vedeu/geometry/area.rb +4 -2
- data/lib/vedeu/geometry/coordinate.rb +4 -4
- data/lib/vedeu/geometry/dimension.rb +6 -4
- data/lib/vedeu/geometry/dsl.rb +55 -43
- data/lib/vedeu/geometry/generic_coordinate.rb +4 -3
- data/lib/vedeu/geometry/geometry.rb +13 -11
- data/lib/vedeu/geometry/grid.rb +6 -5
- data/lib/vedeu/geometry/position.rb +12 -10
- data/lib/vedeu/input/key.rb +2 -3
- data/lib/vedeu/logging/log.rb +1 -1
- data/lib/vedeu/menus/menu.rb +2 -3
- data/lib/vedeu/models/views/view.rb +0 -2
- data/lib/vedeu/output/output.rb +10 -1
- data/lib/vedeu/output/renderers/file.rb +3 -3
- data/lib/vedeu/output/renderers/json.rb +2 -0
- data/lib/vedeu/runtime/main_loop.rb +4 -0
- data/lib/vedeu/templating/helpers.rb +4 -7
- data/lib/vedeu/terminal/buffer.rb +1 -2
- data/lib/vedeu/terminal/terminal.rb +4 -2
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/api/external_test.rb +14 -2
- data/test/lib/vedeu/bindings/visibility_test.rb +15 -0
- data/test/lib/vedeu/dsl/composition_test.rb +1 -1
- data/test/lib/vedeu/dsl/group_test.rb +1 -1
- data/test/lib/vedeu/dsl/interface_test.rb +3 -3
- data/test/lib/vedeu/dsl/line_test.rb +2 -2
- data/test/lib/vedeu/dsl/stream_test.rb +1 -1
- data/test/lib/vedeu/dsl/view_test.rb +3 -3
- data/test/lib/vedeu/error_test.rb +13 -0
- data/test/lib/vedeu/input/key_test.rb +1 -1
- data/test/lib/vedeu/menus/menu_test.rb +1 -1
- data/test/lib/vedeu/models/interface_test.rb +26 -0
- data/test/lib/vedeu/output/renderers/escape_sequence_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/file_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/html_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/json_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/null_test.rb +7 -0
- data/test/lib/vedeu/output/renderers/terminal_test.rb +11 -0
- data/test/lib/vedeu/output/renderers/text_test.rb +7 -0
- data/test/lib/vedeu/terminal/buffer_test.rb +31 -12
- data/test/lib/vedeu/terminal/terminal_test.rb +24 -21
- data/test/support/examples/material_colours_app.rb +2 -0
- data/test/test_helper.rb +2 -2
- metadata +2 -2
data/lib/vedeu/dsl/shared.rb
CHANGED
@@ -2,8 +2,8 @@ module Vedeu
|
|
2
2
|
|
3
3
|
module DSL
|
4
4
|
|
5
|
-
# Provides behaviour to be shared between both
|
6
|
-
# {Vedeu::DSL::View} objects.
|
5
|
+
# Provides behaviour to be shared between both
|
6
|
+
# {Vedeu::DSL::Interface} and {Vedeu::DSL::View} objects.
|
7
7
|
#
|
8
8
|
module Shared
|
9
9
|
|
@@ -12,19 +12,21 @@ module Vedeu
|
|
12
12
|
# @example
|
13
13
|
# Vedeu.interface 'my_interface' do
|
14
14
|
# border do
|
15
|
-
# # ... see Vedeu::Borders::DSL for DSL methods for
|
15
|
+
# # ... see Vedeu::Borders::DSL for DSL methods for
|
16
|
+
# # borders.
|
16
17
|
# end
|
17
18
|
# end
|
18
19
|
#
|
19
|
-
# @param name [String] The name of the interface; this is
|
20
|
-
# when we define the interface or view,
|
21
|
-
# mirroring functionality of
|
20
|
+
# @param name [String] The name of the interface; this is
|
21
|
+
# already provided when we define the interface or view,
|
22
|
+
# setting it here is just mirroring functionality of
|
23
|
+
# {Vedeu::Borders::DSL.border}.
|
22
24
|
# @param block [Proc]
|
23
|
-
# @raise [Vedeu::Error::
|
25
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
24
26
|
# @return [Vedeu::Borders::Border]
|
25
27
|
# @see Vedeu::Borders::DSL
|
26
28
|
def border(name = nil, &block)
|
27
|
-
fail Vedeu::Error::
|
29
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
28
30
|
|
29
31
|
model_name = name ? name : model.name
|
30
32
|
|
@@ -55,19 +57,21 @@ module Vedeu
|
|
55
57
|
# @example
|
56
58
|
# Vedeu.interface 'my_interface' do
|
57
59
|
# geometry do
|
58
|
-
# # ... see Vedeu::Geometry::DSL for DSL methods for
|
60
|
+
# # ... see Vedeu::Geometry::DSL for DSL methods for
|
61
|
+
# # geometries.
|
59
62
|
# end
|
60
63
|
# end
|
61
64
|
#
|
62
|
-
# @param name [String] The name of the interface; this is
|
63
|
-
# when we define the interface or view,
|
64
|
-
# mirroring functionality of
|
65
|
+
# @param name [String] The name of the interface; this is
|
66
|
+
# already provided when we define the interface or view,
|
67
|
+
# setting it here is just mirroring functionality of
|
68
|
+
# {Vedeu::Geometry::DSL.geometry}.
|
65
69
|
# @param block [Proc]
|
66
|
-
# @raise [Vedeu::Error::
|
70
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
67
71
|
# @return [Vedeu::Geometry::Geometry]
|
68
72
|
# @see Vedeu::Geometry::DSL
|
69
73
|
def geometry(name = nil, &block)
|
70
|
-
fail Vedeu::Error::
|
74
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
71
75
|
|
72
76
|
model_name = name ? name : model.name
|
73
77
|
|
data/lib/vedeu/dsl/stream.rb
CHANGED
@@ -21,11 +21,10 @@ module Vedeu
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# @param block [Proc]
|
24
|
-
# @raise [Vedeu::Error::
|
25
|
-
# not given.
|
24
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
26
25
|
# @return [void]
|
27
26
|
def stream(&block)
|
28
|
-
fail Vedeu::Error::
|
27
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
29
28
|
|
30
29
|
model.add(model.class.build(attributes, &block))
|
31
30
|
end
|
data/lib/vedeu/dsl/text.rb
CHANGED
@@ -6,11 +6,13 @@ module Vedeu
|
|
6
6
|
#
|
7
7
|
module Text
|
8
8
|
|
9
|
-
# Specify the content for a view. Provides the means to align a
|
10
|
-
# (or object responding to `to_s`), and add it as a Line
|
9
|
+
# Specify the content for a view. Provides the means to align a
|
10
|
+
# string (or object responding to `to_s`), and add it as a Line
|
11
|
+
# or to the Stream.
|
11
12
|
#
|
12
|
-
# @note If using the convenience methods; {left}, {centre},
|
13
|
-
# {right}, then a specified anchor will be
|
13
|
+
# @note If using the convenience methods; {left}, {centre},
|
14
|
+
# {center} or {right}, then a specified anchor will be
|
15
|
+
# ignored.
|
14
16
|
#
|
15
17
|
# @example
|
16
18
|
# lines do
|
data/lib/vedeu/dsl/view.rb
CHANGED
@@ -126,11 +126,10 @@ module Vedeu
|
|
126
126
|
#
|
127
127
|
# @param block [Proc] The directives you wish to send to render.
|
128
128
|
# Typically includes `view` with associated sub-directives.
|
129
|
-
# @raise [Vedeu::Error::
|
129
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
130
130
|
# @return [Array<View>]
|
131
131
|
def renders(&block)
|
132
|
-
fail Vedeu::Error::
|
133
|
-
'block not given' unless block_given?
|
132
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
134
133
|
|
135
134
|
store(:store_immediate, &block)
|
136
135
|
end
|
@@ -171,11 +170,10 @@ module Vedeu
|
|
171
170
|
#
|
172
171
|
# @param block [Proc] The directives you wish to send to render.
|
173
172
|
# Typically includes `view` with associated sub-directives.
|
174
|
-
# @raise [Vedeu::Error::
|
173
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
175
174
|
# @return [Array<View>]
|
176
175
|
def views(&block)
|
177
|
-
fail Vedeu::Error::
|
178
|
-
'block not given' unless block_given?
|
176
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
179
177
|
|
180
178
|
store(:store_deferred, &block)
|
181
179
|
end
|
@@ -243,10 +241,10 @@ module Vedeu
|
|
243
241
|
# end
|
244
242
|
# end
|
245
243
|
#
|
246
|
-
# @raise [Vedeu::Error::
|
244
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
247
245
|
# @return [Vedeu::Views::Line]
|
248
246
|
def lines(&block)
|
249
|
-
fail Vedeu::Error::
|
247
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
250
248
|
|
251
249
|
model.add(model.member.build(attributes, &block))
|
252
250
|
end
|
data/lib/vedeu/error.rb
CHANGED
@@ -87,6 +87,18 @@ module Vedeu
|
|
87
87
|
|
88
88
|
end # OutOfRange
|
89
89
|
|
90
|
+
# Raised when a method expecting a block to be given was not given
|
91
|
+
# the block.
|
92
|
+
#
|
93
|
+
class RequiresBlock < StandardError
|
94
|
+
|
95
|
+
# @return [String]
|
96
|
+
def message
|
97
|
+
'The required block was not given.'
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
90
102
|
end # Error
|
91
103
|
|
92
104
|
end # Vedeu
|
data/lib/vedeu/geometry/area.rb
CHANGED
@@ -12,7 +12,8 @@ module Vedeu
|
|
12
12
|
alias_method :top, :y
|
13
13
|
|
14
14
|
# @!attribute [r] yn
|
15
|
-
# @return [Fixnum] Returns the bottom coordinate of the
|
15
|
+
# @return [Fixnum] Returns the bottom coordinate of the
|
16
|
+
# interface.
|
16
17
|
attr_reader :yn
|
17
18
|
alias_method :bottom, :yn
|
18
19
|
|
@@ -22,7 +23,8 @@ module Vedeu
|
|
22
23
|
alias_method :left, :x
|
23
24
|
|
24
25
|
# @!attribute [r] xn
|
25
|
-
# @return [Fixnum] Returns the right coordinate of the
|
26
|
+
# @return [Fixnum] Returns the right coordinate of the
|
27
|
+
# interface.
|
26
28
|
attr_reader :xn
|
27
29
|
alias_method :right, :xn
|
28
30
|
|
@@ -44,8 +44,8 @@ module Vedeu
|
|
44
44
|
|
45
45
|
private
|
46
46
|
|
47
|
-
# Provide an instance of Vedeu::Geometry::GenericCoordinate to
|
48
|
-
# correct x related coordinates.
|
47
|
+
# Provide an instance of {Vedeu::Geometry::GenericCoordinate} to
|
48
|
+
# determine correct x related coordinates.
|
49
49
|
#
|
50
50
|
# @return [Vedeu::Geometry::GenericCoordinate]
|
51
51
|
def x
|
@@ -54,8 +54,8 @@ module Vedeu
|
|
54
54
|
type: :x)
|
55
55
|
end
|
56
56
|
|
57
|
-
# Provide an instance of Vedeu::Geometry::GenericCoordinate to
|
58
|
-
# correct y related coordinates.
|
57
|
+
# Provide an instance of {Vedeu::Geometry::GenericCoordinate} to
|
58
|
+
# determine correct y related coordinates.
|
59
59
|
#
|
60
60
|
# @return [Vedeu::Geometry::GenericCoordinate]
|
61
61
|
def y
|
@@ -15,11 +15,13 @@ module Vedeu
|
|
15
15
|
# Returns a new instance of Vedeu::Geometry::Dimension.
|
16
16
|
#
|
17
17
|
# @param attributes [Hash<Symbol => Fixnum, NilClass>]
|
18
|
-
# @option attributes d [Fixnum|NilClass]
|
19
|
-
#
|
18
|
+
# @option attributes d [Fixnum|NilClass]
|
19
|
+
# The starting value (y or x).
|
20
|
+
# @option attributes dn [Fixnum|NilClass]
|
21
|
+
# The ending value (yn or xn).
|
20
22
|
# @option attributes d_dn [Fixnum|NilClass] A width or a height.
|
21
|
-
# @option attributes default [Fixnum|NilClass]
|
22
|
-
# height.
|
23
|
+
# @option attributes default [Fixnum|NilClass]
|
24
|
+
# The terminal width or height.
|
23
25
|
# @option attributes options [Hash]
|
24
26
|
# @return [Vedeu::Geometry::Dimension]
|
25
27
|
def initialize(attributes = {})
|
data/lib/vedeu/geometry/dsl.rb
CHANGED
@@ -3,11 +3,13 @@ module Vedeu
|
|
3
3
|
module Geometry
|
4
4
|
|
5
5
|
# Geometry allows the configuration of the position and size of an
|
6
|
-
# interface. Within Vedeu, as the same for ANSI terminals, has the
|
7
|
-
# top-left, y = 1, x = 1. The 'y' coordinate is
|
6
|
+
# interface. Within Vedeu, as the same for ANSI terminals, has the
|
7
|
+
# origin at top-left, y = 1, x = 1. The 'y' coordinate is
|
8
|
+
# deliberately first.
|
8
9
|
#
|
9
|
-
# The Geometry DSL can be used within the Interface DSL or
|
10
|
-
# are example of declarations for a `geometry`
|
10
|
+
# The Geometry DSL can be used within the Interface DSL or
|
11
|
+
# standalone. Here are example of declarations for a `geometry`
|
12
|
+
# block:
|
11
13
|
#
|
12
14
|
# A standalone geometry definition:
|
13
15
|
#
|
@@ -34,11 +36,12 @@ module Vedeu
|
|
34
36
|
# # ... some code here
|
35
37
|
# end
|
36
38
|
#
|
37
|
-
# If a declaration is omitted for `height` or `width` the full
|
38
|
-
# space available in the terminal will be used. `x` and
|
39
|
-
# 1.
|
39
|
+
# If a declaration is omitted for `height` or `width` the full
|
40
|
+
# remaining space available in the terminal will be used. `x` and
|
41
|
+
# `y` both default to 1.
|
40
42
|
#
|
41
|
-
# You can also make a geometry declaration dependent on another
|
43
|
+
# You can also make a geometry declaration dependent on another
|
44
|
+
# view:
|
42
45
|
#
|
43
46
|
# Vedeu.interface 'other_panel' do
|
44
47
|
# # ... some code here
|
@@ -55,8 +58,8 @@ module Vedeu
|
|
55
58
|
#
|
56
59
|
# This view will begin just below "other\_panel".
|
57
60
|
#
|
58
|
-
# This crude ASCII diagram represents a Geometry within Vedeu,
|
59
|
-
# labels is a value you can access or define.
|
61
|
+
# This crude ASCII diagram represents a Geometry within Vedeu,
|
62
|
+
# each of the labels is a value you can access or define.
|
60
63
|
#
|
61
64
|
# x north xn # north: y - 1
|
62
65
|
# y +--------------+ # top: y
|
@@ -73,19 +76,20 @@ module Vedeu
|
|
73
76
|
include Vedeu::DSL
|
74
77
|
include Vedeu::DSL::Use
|
75
78
|
|
76
|
-
# Specify the geometry of an interface or view with a simple
|
79
|
+
# Specify the geometry of an interface or view with a simple
|
80
|
+
# DSL.
|
77
81
|
#
|
78
82
|
# Vedeu.geometry 'some_interface' do
|
79
83
|
# # ...
|
80
84
|
# end
|
81
85
|
#
|
82
|
-
# @param name [String] The name of the interface or view to
|
83
|
-
# geometry belongs.
|
86
|
+
# @param name [String] The name of the interface or view to
|
87
|
+
# which this geometry belongs.
|
84
88
|
# @param block [Proc]
|
85
|
-
# @raise [Vedeu::Error::
|
89
|
+
# @raise [Vedeu::Error::RequiresBlock]
|
86
90
|
# @return [Vedeu::Geometry::Geometry]
|
87
91
|
def self.geometry(name, &block)
|
88
|
-
fail Vedeu::Error::
|
92
|
+
fail Vedeu::Error::RequiresBlock unless block_given?
|
89
93
|
|
90
94
|
Vedeu::Geometry::Geometry.build(name: name, &block).store
|
91
95
|
end
|
@@ -100,8 +104,9 @@ module Vedeu
|
|
100
104
|
@client = client
|
101
105
|
end
|
102
106
|
|
103
|
-
# Instructs Vedeu to calculate x and y geometry automatically
|
104
|
-
# centre character of the terminal, the width and
|
107
|
+
# Instructs Vedeu to calculate x and y geometry automatically
|
108
|
+
# based on the centre character of the terminal, the width and
|
109
|
+
# the height.
|
105
110
|
#
|
106
111
|
# Vedeu.geometry 'some_interface' do
|
107
112
|
# centred false # or...
|
@@ -111,8 +116,8 @@ module Vedeu
|
|
111
116
|
# # ... some code
|
112
117
|
# end
|
113
118
|
#
|
114
|
-
# @param value [Boolean] Any value other than nil or false will
|
115
|
-
# to true.
|
119
|
+
# @param value [Boolean] Any value other than nil or false will
|
120
|
+
# evaluate to true.
|
116
121
|
# @return [Boolean]
|
117
122
|
def centred(value = true)
|
118
123
|
boolean = value ? true : false
|
@@ -122,7 +127,8 @@ module Vedeu
|
|
122
127
|
alias_method :centred!, :centred
|
123
128
|
alias_method :centred=, :centred
|
124
129
|
|
125
|
-
# Returns the width in characters for the number of columns
|
130
|
+
# Returns the width in characters for the number of columns
|
131
|
+
# specified.
|
126
132
|
#
|
127
133
|
# Vedeu.geometry 'main_interface' do
|
128
134
|
# # ... some code
|
@@ -133,15 +139,15 @@ module Vedeu
|
|
133
139
|
# end
|
134
140
|
#
|
135
141
|
# @param value [Fixnum]
|
136
|
-
# @raise [Vedeu::Error::OutOfRange] When the value parameter is
|
137
|
-
# between 1 and 12 inclusive.
|
142
|
+
# @raise [Vedeu::Error::OutOfRange] When the value parameter is
|
143
|
+
# not between 1 and 12 inclusive.
|
138
144
|
# @return [Fixnum|Vedeu::Error::OutOfRange]
|
139
145
|
def columns(value)
|
140
146
|
Vedeu::Geometry::Grid.columns(value)
|
141
147
|
end
|
142
148
|
|
143
|
-
# Specify the number of characters/rows/lines tall the interface
|
144
|
-
# This value will be ignored when `y` and `yn` are set.
|
149
|
+
# Specify the number of characters/rows/lines tall the interface
|
150
|
+
# will be. This value will be ignored when `y` and `yn` are set.
|
145
151
|
#
|
146
152
|
# Vedeu.geometry 'some_interface' do
|
147
153
|
# height 8
|
@@ -155,7 +161,8 @@ module Vedeu
|
|
155
161
|
end
|
156
162
|
alias_method :height=, :height
|
157
163
|
|
158
|
-
# Returns the height in characters for the number of rows
|
164
|
+
# Returns the height in characters for the number of rows
|
165
|
+
# specified.
|
159
166
|
#
|
160
167
|
# Vedeu.geometry 'main_interface' do
|
161
168
|
# # ... some code
|
@@ -166,15 +173,15 @@ module Vedeu
|
|
166
173
|
# end
|
167
174
|
#
|
168
175
|
# @param value [Fixnum]
|
169
|
-
# @raise [Vedeu::Error::OutOfRange] When the value parameter is
|
170
|
-
# between 1 and 12 inclusive.
|
176
|
+
# @raise [Vedeu::Error::OutOfRange] When the value parameter is
|
177
|
+
# not between 1 and 12 inclusive.
|
171
178
|
# @return [Fixnum]
|
172
179
|
def rows(value)
|
173
180
|
Vedeu::Geometry::Grid.rows(value)
|
174
181
|
end
|
175
182
|
|
176
|
-
# Specify the number of characters/columns wide the interface
|
177
|
-
# This value will be ignored when `x` and `xn` are set.
|
183
|
+
# Specify the number of characters/columns wide the interface
|
184
|
+
# will be. This value will be ignored when `x` and `xn` are set.
|
178
185
|
#
|
179
186
|
# Vedeu.geometry 'some_interface' do
|
180
187
|
# width 25
|
@@ -193,10 +200,11 @@ module Vedeu
|
|
193
200
|
# Vedeu.geometry 'some_interface' do
|
194
201
|
# x 7 # start on column 7.
|
195
202
|
#
|
196
|
-
#
|
197
|
-
# #
|
198
|
-
#
|
199
|
-
#
|
203
|
+
# # start on column 8, if `other_interface` changes position
|
204
|
+
# # then `some_interface` will too.
|
205
|
+
# x { use('other_interface').east }
|
206
|
+
# # ... some code
|
207
|
+
# end
|
200
208
|
#
|
201
209
|
# @param value [Fixnum]
|
202
210
|
# @param block [Proc]
|
@@ -214,9 +222,10 @@ module Vedeu
|
|
214
222
|
# Vedeu.geometry 'some_interface' do
|
215
223
|
# xn 37 # end at column 37.
|
216
224
|
#
|
217
|
-
#
|
218
|
-
#
|
219
|
-
#
|
225
|
+
# # when `other_interface` changes position,
|
226
|
+
# # `some_interface` will too.
|
227
|
+
# xn { use('other_interface').right }
|
228
|
+
# # ... some code
|
220
229
|
# end
|
221
230
|
#
|
222
231
|
# @param value [Fixnum]
|
@@ -234,10 +243,11 @@ module Vedeu
|
|
234
243
|
# Vedeu.geometry 'some_interface' do
|
235
244
|
# y 4 # start at row 4
|
236
245
|
#
|
237
|
-
#
|
238
|
-
# #
|
239
|
-
#
|
240
|
-
#
|
246
|
+
# # start on row/line 3, when `other_interface` changes
|
247
|
+
# # position, `some_interface` will too.
|
248
|
+
# y { use('other_interface').north }
|
249
|
+
# # ... some code
|
250
|
+
# end
|
241
251
|
#
|
242
252
|
# @param value [Fixnum]
|
243
253
|
# @param block [Proc]
|
@@ -255,9 +265,11 @@ module Vedeu
|
|
255
265
|
# Vedeu.geometry 'some_interface' do
|
256
266
|
# yn 24 # end at row 24.
|
257
267
|
#
|
258
|
-
#
|
259
|
-
# #
|
260
|
-
#
|
268
|
+
# # if `other_interface` changes position, `some_interface`
|
269
|
+
# # will too.
|
270
|
+
# yn { use('other_interface').bottom }
|
271
|
+
# # ... some code
|
272
|
+
# end
|
261
273
|
#
|
262
274
|
# @param value [Fixnum]
|
263
275
|
# @param block [Proc]
|
@@ -113,10 +113,11 @@ module Vedeu
|
|
113
113
|
border.send(coordinate_type[3])
|
114
114
|
end
|
115
115
|
|
116
|
-
# Ascertain the correct methods to use for determining the
|
116
|
+
# Ascertain the correct methods to use for determining the
|
117
|
+
# coordinates.
|
117
118
|
#
|
118
|
-
# @raise [Vedeu::Error::InvalidSyntax] When the coordinate type
|
119
|
-
# given.
|
119
|
+
# @raise [Vedeu::Error::InvalidSyntax] When the coordinate type
|
120
|
+
# is not given.
|
120
121
|
# @return [Fixnum]
|
121
122
|
def coordinate_type
|
122
123
|
@_type ||= case type
|