vedeu 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +40 -0
- data/README.md +1 -0
- data/docs/dsl.md +24 -24
- data/lib/vedeu/all.rb +21 -44
- data/lib/vedeu/api.rb +13 -13
- data/lib/vedeu/application/application_controller.rb +2 -0
- data/lib/vedeu/bindings/movement.rb +53 -18
- data/lib/vedeu/bindings/refresh.rb +1 -1
- data/lib/vedeu/bindings/system.rb +2 -2
- data/lib/vedeu/bindings/visibility.rb +3 -3
- data/lib/vedeu/borders/all.rb +13 -0
- data/lib/vedeu/borders/border.rb +209 -202
- data/lib/vedeu/{dsl/border.rb → borders/dsl.rb} +15 -15
- data/lib/vedeu/{null/border.rb → borders/null.rb} +9 -9
- data/lib/vedeu/borders/render.rb +347 -0
- data/lib/vedeu/borders/repository.rb +19 -0
- data/lib/vedeu/buffers/all.rb +13 -0
- data/lib/vedeu/buffers/buffer.rb +182 -176
- data/lib/vedeu/{null/buffer.rb → buffers/null.rb} +8 -8
- data/lib/vedeu/buffers/repository.rb +24 -0
- data/lib/vedeu/buffers/virtual_buffer.rb +2 -2
- data/lib/vedeu/cursors/all.rb +11 -0
- data/lib/vedeu/cursors/cursor.rb +276 -0
- data/lib/vedeu/cursors/refresh.rb +84 -0
- data/lib/vedeu/cursors/repository.rb +34 -0
- data/lib/vedeu/dsl/interface.rb +9 -9
- data/lib/vedeu/dsl/shared.rb +11 -11
- data/lib/vedeu/{exceptions.rb → error.rb} +2 -2
- data/lib/vedeu/esc/esc.rb +1 -1
- data/lib/vedeu/geometry/all.rb +18 -0
- data/lib/vedeu/geometry/area.rb +170 -160
- data/lib/vedeu/geometry/coordinate.rb +61 -39
- data/lib/vedeu/geometry/dimension.rb +139 -132
- data/lib/vedeu/{dsl/geometry.rb → geometry/dsl.rb} +11 -11
- data/lib/vedeu/geometry/generic_coordinate.rb +159 -153
- data/lib/vedeu/geometry/geometry.rb +310 -212
- data/lib/vedeu/geometry/grid.rb +73 -69
- data/lib/vedeu/{null/geometry.rb → geometry/null.rb} +10 -10
- data/lib/vedeu/geometry/position.rb +124 -120
- data/lib/vedeu/geometry/repository.rb +19 -0
- data/lib/vedeu/input/editor/document.rb +2 -2
- data/lib/vedeu/internal_api.rb +8 -8
- data/lib/vedeu/models/escape.rb +2 -2
- data/lib/vedeu/models/interface.rb +1 -1
- data/lib/vedeu/models/page.rb +89 -0
- data/lib/vedeu/models/row.rb +66 -0
- data/lib/vedeu/models/toggleable.rb +1 -1
- data/lib/vedeu/models/views/char.rb +7 -6
- data/lib/vedeu/models/views/line.rb +1 -1
- data/lib/vedeu/models/views/view.rb +2 -2
- data/lib/vedeu/options.rb +19 -0
- data/lib/vedeu/output/clear/named_interface.rb +1 -1
- data/lib/vedeu/output/direct.rb +1 -1
- data/lib/vedeu/output/presentation.rb +2 -1
- data/lib/vedeu/output/viewport.rb +3 -3
- data/lib/vedeu/repositories/model.rb +9 -1
- data/lib/vedeu/repositories/repository.rb +5 -0
- data/lib/vedeu/terminal/terminal.rb +3 -3
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/borders/border_test.rb +299 -291
- data/test/lib/vedeu/{dsl/border_test.rb → borders/dsl_test.rb} +6 -6
- data/test/lib/vedeu/{null/border_test.rb → borders/null_test.rb} +6 -6
- data/test/lib/vedeu/borders/render_test.rb +125 -0
- data/test/lib/vedeu/borders/repository_test.rb +17 -0
- data/test/lib/vedeu/buffers/buffer_test.rb +116 -112
- data/test/lib/vedeu/{null/buffer_test.rb → buffers/null_test.rb} +5 -5
- data/test/lib/vedeu/buffers/repository_test.rb +18 -0
- data/test/lib/vedeu/cursors/cursor_test.rb +370 -0
- data/test/lib/vedeu/cursors/refresh_test.rb +69 -0
- data/test/lib/vedeu/cursors/repository_test.rb +41 -0
- data/test/lib/vedeu/dsl/interface_test.rb +5 -5
- data/test/lib/vedeu/{exceptions_test.rb → error_test.rb} +0 -0
- data/test/lib/vedeu/geometry/area_test.rb +141 -137
- data/test/lib/vedeu/geometry/coordinate_test.rb +93 -89
- data/test/lib/vedeu/geometry/dimension_test.rb +137 -133
- data/test/lib/vedeu/{dsl/geometry_test.rb → geometry/dsl_test.rb} +17 -17
- data/test/lib/vedeu/geometry/generic_coordinate_test.rb +32 -28
- data/test/lib/vedeu/geometry/geometry_test.rb +282 -157
- data/test/lib/vedeu/geometry/grid_test.rb +35 -31
- data/test/lib/vedeu/{null/geometry_test.rb → geometry/null_test.rb} +5 -5
- data/test/lib/vedeu/geometry/position_test.rb +146 -142
- data/test/lib/vedeu/geometry/repository_test.rb +19 -0
- data/test/lib/vedeu/input/editor/document_test.rb +1 -1
- data/test/lib/vedeu/models/escape_test.rb +1 -1
- data/test/lib/vedeu/models/interface_test.rb +2 -2
- data/test/lib/vedeu/models/page_test.rb +235 -0
- data/test/lib/vedeu/models/row_test.rb +111 -0
- data/test/lib/vedeu/models/views/char_test.rb +3 -3
- data/test/lib/vedeu/options_test.rb +57 -0
- data/test/lib/vedeu/output/clear/named_interface_test.rb +1 -1
- data/test/lib/vedeu/output/renderers/json_test.rb +1 -1
- data/test/lib/vedeu/output/viewport_test.rb +15 -9
- data/test/lib/vedeu/refresh/refresh_buffer_test.rb +12 -12
- data/test/lib/vedeu/repositories/repositories_test.rb +1 -1
- data/test/lib/vedeu/repositories/repository_test.rb +7 -0
- data/test/lib/vedeu/terminal/terminal_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- data/vedeu.gemspec +2 -2
- metadata +57 -63
- data/lib/vedeu/borders/borders.rb +0 -15
- data/lib/vedeu/borders/render_border.rb +0 -331
- data/lib/vedeu/buffers/buffers.rb +0 -20
- data/lib/vedeu/cursor/cursor.rb +0 -174
- data/lib/vedeu/cursor/cursors.rb +0 -30
- data/lib/vedeu/cursor/move.rb +0 -239
- data/lib/vedeu/cursor/reposition.rb +0 -78
- data/lib/vedeu/geometry/geometries.rb +0 -15
- data/lib/vedeu/refresh/refresh_cursor.rb +0 -92
- data/test/lib/vedeu/borders/borders_test.rb +0 -13
- data/test/lib/vedeu/borders/render_border_test.rb +0 -121
- data/test/lib/vedeu/buffers/buffers_test.rb +0 -14
- data/test/lib/vedeu/cursor/cursor_test.rb +0 -246
- data/test/lib/vedeu/cursor/cursors_test.rb +0 -37
- data/test/lib/vedeu/cursor/move_test.rb +0 -301
- data/test/lib/vedeu/cursor/reposition_test.rb +0 -63
- data/test/lib/vedeu/geometry/geometries_test.rb +0 -15
- data/test/lib/vedeu/refresh/refresh_cursor_test.rb +0 -65
@@ -0,0 +1,19 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Borders
|
4
|
+
|
5
|
+
# Allows the storing of interface/view borders independent of the interface
|
6
|
+
# instance.
|
7
|
+
#
|
8
|
+
class Repository < Vedeu::Repository
|
9
|
+
|
10
|
+
singleton_class.send(:alias_method, :borders, :repository)
|
11
|
+
|
12
|
+
null Vedeu::Borders::Null
|
13
|
+
real Vedeu::Borders::Border
|
14
|
+
|
15
|
+
end # Repository
|
16
|
+
|
17
|
+
end # Borders
|
18
|
+
|
19
|
+
end # Vedeu
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Vedeu
|
2
|
+
|
3
|
+
module Buffers
|
4
|
+
|
5
|
+
end # Buffers
|
6
|
+
|
7
|
+
end # Vedeu
|
8
|
+
|
9
|
+
require 'vedeu/buffers/buffer'
|
10
|
+
require 'vedeu/buffers/null'
|
11
|
+
require 'vedeu/buffers/repository'
|
12
|
+
require 'vedeu/buffers/virtual_buffer'
|
13
|
+
require 'vedeu/buffers/virtual_buffers'
|
data/lib/vedeu/buffers/buffer.rb
CHANGED
@@ -1,206 +1,212 @@
|
|
1
1
|
module Vedeu
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
3
|
+
module Buffers
|
4
|
+
|
5
|
+
# The Buffer object represents the states of display for an interface. The
|
6
|
+
# states are 'front', 'back' and 'previous'.
|
7
|
+
#
|
8
|
+
# [Back] -> [Front] -> [Previous]
|
9
|
+
#
|
10
|
+
# The content on the screen, or last output will always be the 'Front'
|
11
|
+
# buffer. Content due to be displayed on next refresh will come from the
|
12
|
+
# 'Back' buffer when available, otherwise from the current 'Front' buffer.
|
13
|
+
# When new content is copied to the 'Front' buffer, the current 'Front'
|
14
|
+
# buffer is also copied to the 'Previous' buffer.
|
15
|
+
#
|
16
|
+
class Buffer
|
17
|
+
|
18
|
+
include Vedeu::Model
|
19
|
+
|
20
|
+
# The next buffer to be displayed; contains the content which will be
|
21
|
+
# shown on next refresh.
|
22
|
+
#
|
23
|
+
# @!attribute [rw] back
|
24
|
+
# @return [Vedeu::Views::View]
|
25
|
+
attr_accessor :back
|
26
|
+
|
27
|
+
# The currently displayed buffer, contains the content which was last
|
28
|
+
# output.
|
29
|
+
#
|
30
|
+
# @!attribute [rw] front
|
31
|
+
# @return [Vedeu::Views::View]
|
32
|
+
attr_accessor :front
|
33
|
+
|
34
|
+
# The previous buffer which was displayed; contains the content that was
|
35
|
+
# shown before 'front'.
|
36
|
+
#
|
37
|
+
# @!attribute [rw] previous
|
38
|
+
# @return [Vedeu::Views::View]
|
39
|
+
attr_accessor :previous
|
40
|
+
|
41
|
+
# @!attribute [r] name
|
42
|
+
# @return [String]
|
43
|
+
attr_reader :name
|
44
|
+
|
45
|
+
# Return a new instance of Buffer. Generally a Buffer is initialized with
|
46
|
+
# only a 'name' and 'back' parameter.
|
47
|
+
#
|
48
|
+
# @option attributes name [String] The name of the interface for which the
|
49
|
+
# buffer belongs.
|
50
|
+
# @option attributes back [Vedeu::Views::View]
|
51
|
+
# @option attributes front [Vedeu::Views::View]
|
52
|
+
# @option attributes previous [Vedeu::Views::View]
|
53
|
+
# @option attributes repository [Vedeu::Buffers::Repository]
|
54
|
+
# @return [Vedeu::Buffers::Buffer]
|
55
|
+
def initialize(attributes = {})
|
56
|
+
@attributes = defaults.merge!(attributes)
|
57
|
+
|
58
|
+
@attributes.each do |key, value|
|
59
|
+
instance_variable_set("@#{key}", value)
|
60
|
+
end
|
61
|
+
end
|
38
62
|
|
39
|
-
|
40
|
-
|
41
|
-
|
63
|
+
# Add the content to the back buffer, then update the repository.
|
64
|
+
# Returns boolean indicating that the repository was updated.
|
65
|
+
#
|
66
|
+
# @param content [Vedeu::Views::View]
|
67
|
+
# @return [Boolean]
|
68
|
+
def add(content)
|
69
|
+
@back = content
|
42
70
|
|
43
|
-
|
44
|
-
# only a 'name' and 'back' parameter.
|
45
|
-
#
|
46
|
-
# @option attributes name [String] The name of the interface for which the
|
47
|
-
# buffer belongs.
|
48
|
-
# @option attributes back [Vedeu::Views::View]
|
49
|
-
# @option attributes front [Vedeu::Views::View]
|
50
|
-
# @option attributes previous [Vedeu::Views::View]
|
51
|
-
# @option attributes repository [Vedeu::Buffers]
|
52
|
-
# @return [Vedeu::Buffer]
|
53
|
-
def initialize(attributes = {})
|
54
|
-
@attributes = defaults.merge!(attributes)
|
55
|
-
|
56
|
-
@attributes.each { |key, value| instance_variable_set("@#{key}", value) }
|
57
|
-
end
|
58
|
-
|
59
|
-
# Add the content to the back buffer, then update the repository.
|
60
|
-
# Returns boolean indicating that the repository was updated.
|
61
|
-
#
|
62
|
-
# @param content [Vedeu::Views::View]
|
63
|
-
# @return [Boolean]
|
64
|
-
def add(content)
|
65
|
-
@back = content
|
71
|
+
store
|
66
72
|
|
67
|
-
|
73
|
+
true
|
74
|
+
end
|
68
75
|
|
69
|
-
|
70
|
-
|
76
|
+
# Return a boolean indicating content presence on the buffer type.
|
77
|
+
#
|
78
|
+
# @return [Boolean] Whether the buffer targetted has content.
|
79
|
+
def back?
|
80
|
+
return false if back.nil? || back.lines.empty?
|
71
81
|
|
72
|
-
|
73
|
-
|
74
|
-
# @return [Boolean] Whether the buffer targetted has content.
|
75
|
-
def back?
|
76
|
-
return false if back.nil? || back.lines.empty?
|
82
|
+
true
|
83
|
+
end
|
77
84
|
|
78
|
-
|
79
|
-
|
85
|
+
# Clear the buffer.
|
86
|
+
#
|
87
|
+
# @return [Array<Array<Vedeu::Views::Char>>]
|
88
|
+
def clear
|
89
|
+
Vedeu::Output.render(Vedeu::Clear::NamedInterface.render(name))
|
90
|
+
end
|
80
91
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
end
|
92
|
+
# Return a boolean indicating content presence on the buffer type.
|
93
|
+
#
|
94
|
+
# @return [Boolean] Whether the buffer targetted has content.
|
95
|
+
def front?
|
96
|
+
return false if front.nil? || front.lines.empty?
|
87
97
|
|
88
|
-
|
89
|
-
|
90
|
-
# @return [Boolean] Whether the buffer targetted has content.
|
91
|
-
def front?
|
92
|
-
return false if front.nil? || front.lines.empty?
|
98
|
+
true
|
99
|
+
end
|
93
100
|
|
94
|
-
|
95
|
-
|
101
|
+
# Return a boolean indicating content presence on the buffer type.
|
102
|
+
#
|
103
|
+
# @return [Boolean] Whether the buffer targetted has content.
|
104
|
+
def previous?
|
105
|
+
return false if previous.nil? || previous.lines.empty?
|
96
106
|
|
97
|
-
|
98
|
-
|
99
|
-
# @return [Boolean] Whether the buffer targetted has content.
|
100
|
-
def previous?
|
101
|
-
return false if previous.nil? || previous.lines.empty?
|
107
|
+
true
|
108
|
+
end
|
102
109
|
|
103
|
-
|
104
|
-
|
110
|
+
# Hide this buffer.
|
111
|
+
#
|
112
|
+
# @example
|
113
|
+
# Vedeu.trigger(:_hide_interface_, name)
|
114
|
+
# Vedeu.hide_interface(name)
|
115
|
+
#
|
116
|
+
# Will hide the named interface. If the interface is currently visible, it
|
117
|
+
# will be cleared- rendered blank. To show the interface, the
|
118
|
+
# ':_show_interface_' event should be triggered. Triggering the
|
119
|
+
# ':_hide_group_' event to which this named interface belongs will also
|
120
|
+
# hide the interface.
|
121
|
+
#
|
122
|
+
# @return [Array<Array<Array<Vedeu::Views::Char>>>]
|
123
|
+
def hide
|
124
|
+
Vedeu::Output.render(clear)
|
125
|
+
end
|
105
126
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
end
|
127
|
+
# Return the content for this buffer.
|
128
|
+
#
|
129
|
+
# - If we have new content (i.e. content on 'back') to be shown, we first
|
130
|
+
# clear the area occupied by the previous content, then clear the area
|
131
|
+
# for the new content, and then finally render the new content.
|
132
|
+
# - If there is no new content (i.e. 'back' is empty), check the 'front'
|
133
|
+
# buffer and display that.
|
134
|
+
# - If there is no new content, and the front buffer is empty, display the
|
135
|
+
# 'previous' buffer.
|
136
|
+
# - If the 'previous' buffer is empty, return an empty collection.
|
137
|
+
#
|
138
|
+
# @return [Array<Array<Array<Vedeu::Views::Char>>>]
|
139
|
+
def render
|
140
|
+
Vedeu::Output.render(buffer)
|
141
|
+
end
|
122
142
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
143
|
+
# Show this buffer.
|
144
|
+
#
|
145
|
+
# @example
|
146
|
+
# Vedeu.trigger(:_show_interface_, name)
|
147
|
+
# Vedeu.show_interface(name)
|
148
|
+
#
|
149
|
+
# Will show the named interface. If the interface is currently invisible,
|
150
|
+
# it will be shown- rendered with its latest content. To hide the
|
151
|
+
# interface, the ':_hide_interface_' event should be triggered. Triggering
|
152
|
+
# the ':_show_group_' event to which this named interface belongs will
|
153
|
+
# also show the interface.
|
154
|
+
#
|
155
|
+
# @return [Array<Array<Array<Vedeu::Views::Char>>>]
|
156
|
+
def show
|
157
|
+
Vedeu::Output.render(buffer)
|
158
|
+
end
|
138
159
|
|
139
|
-
|
140
|
-
#
|
141
|
-
# @example
|
142
|
-
# Vedeu.trigger(:_show_interface_, name)
|
143
|
-
# Vedeu.show_interface(name)
|
144
|
-
#
|
145
|
-
# Will show the named interface. If the interface is currently invisible, it
|
146
|
-
# will be shown- rendered with its latest content. To hide the interface,
|
147
|
-
# the ':_hide_interface_' event should be triggered. Triggering the
|
148
|
-
# ':_show_group_' event to which this named interface belongs will also show
|
149
|
-
# the interface.
|
150
|
-
#
|
151
|
-
# @return [Array<Array<Array<Vedeu::Views::Char>>>]
|
152
|
-
def show
|
153
|
-
Vedeu::Output.render(buffer)
|
154
|
-
end
|
160
|
+
private
|
155
161
|
|
156
|
-
|
162
|
+
# Retrieve the latest content from the buffer.
|
163
|
+
#
|
164
|
+
# @return [Array<Array<Array<Vedeu::Views::Char>>>]
|
165
|
+
def buffer
|
166
|
+
swap if back?
|
157
167
|
|
158
|
-
|
159
|
-
|
160
|
-
# @return [Array<Array<Array<Vedeu::Views::Char>>>]
|
161
|
-
def buffer
|
162
|
-
swap if back?
|
168
|
+
if front?
|
169
|
+
[front.render]
|
163
170
|
|
164
|
-
|
165
|
-
|
171
|
+
elsif previous?
|
172
|
+
[previous.render]
|
166
173
|
|
167
|
-
|
168
|
-
|
174
|
+
else
|
175
|
+
[]
|
169
176
|
|
170
|
-
|
171
|
-
|
177
|
+
end
|
178
|
+
end
|
172
179
|
|
180
|
+
# Returns the default options/attributes for this class.
|
181
|
+
#
|
182
|
+
# @return [Hash<Symbol => NilClass, String>]
|
183
|
+
def defaults
|
184
|
+
{
|
185
|
+
back: nil,
|
186
|
+
front: nil,
|
187
|
+
name: '',
|
188
|
+
previous: nil,
|
189
|
+
repository: Vedeu.buffers,
|
190
|
+
}
|
173
191
|
end
|
174
|
-
end
|
175
192
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
back: nil,
|
182
|
-
front: nil,
|
183
|
-
name: '',
|
184
|
-
previous: nil,
|
185
|
-
repository: Vedeu.buffers,
|
186
|
-
}
|
187
|
-
end
|
188
|
-
|
189
|
-
# Return a boolean indicating content was swapped between buffers.
|
190
|
-
#
|
191
|
-
# @return [Boolean]
|
192
|
-
def swap
|
193
|
-
Vedeu.log(type: :output, message: "Buffer swapping: '#{name}'")
|
193
|
+
# Return a boolean indicating content was swapped between buffers.
|
194
|
+
#
|
195
|
+
# @return [Boolean]
|
196
|
+
def swap
|
197
|
+
Vedeu.log(type: :output, message: "Buffer swapping: '#{name}'")
|
194
198
|
|
195
|
-
|
196
|
-
|
197
|
-
|
199
|
+
@previous = front
|
200
|
+
@front = back
|
201
|
+
@back = nil
|
198
202
|
|
199
|
-
|
203
|
+
store
|
204
|
+
|
205
|
+
true
|
206
|
+
end
|
200
207
|
|
201
|
-
|
202
|
-
end
|
208
|
+
end # Buffer
|
203
209
|
|
204
|
-
end #
|
210
|
+
end # Buffers
|
205
211
|
|
206
212
|
end # Vedeu
|
@@ -1,21 +1,21 @@
|
|
1
1
|
module Vedeu
|
2
2
|
|
3
|
-
module
|
3
|
+
module Buffers
|
4
4
|
|
5
|
-
# Provides a non-existent Vedeu::Buffer that acts like the real
|
6
|
-
# does nothing.
|
5
|
+
# Provides a non-existent Vedeu::Buffers::Buffer that acts like the real
|
6
|
+
# thing, but does nothing.
|
7
7
|
#
|
8
|
-
class
|
8
|
+
class Null
|
9
9
|
|
10
10
|
# @!attribute [r] name
|
11
11
|
# @return [String]
|
12
12
|
attr_reader :name
|
13
13
|
|
14
|
-
# Returns a new instance of Vedeu::Null
|
14
|
+
# Returns a new instance of Vedeu::Buffers::Null.
|
15
15
|
#
|
16
16
|
# @param attributes [Hash<Symbol => void>]
|
17
17
|
# @option attributes name [String|NilClass]
|
18
|
-
# @return [Vedeu::Null
|
18
|
+
# @return [Vedeu::Buffers::Null]
|
19
19
|
def initialize(attributes = {})
|
20
20
|
@attributes = attributes
|
21
21
|
@name = @attributes[:name]
|
@@ -37,8 +37,8 @@ module Vedeu
|
|
37
37
|
true
|
38
38
|
end
|
39
39
|
|
40
|
-
end #
|
40
|
+
end # Null
|
41
41
|
|
42
|
-
end #
|
42
|
+
end # Buffers
|
43
43
|
|
44
44
|
end # Vedeu
|