vedeu 0.4.23 → 0.4.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/examples/cursor_app.rb +9 -4
  3. data/lib/vedeu/bindings.rb +36 -9
  4. data/lib/vedeu/cursor/move.rb +49 -55
  5. data/lib/vedeu/geometry/coordinate.rb +51 -38
  6. data/lib/vedeu/geometry/geometry.rb +44 -16
  7. data/lib/vedeu/geometry/position.rb +2 -6
  8. data/lib/vedeu/input/mapper.rb +2 -0
  9. data/lib/vedeu/models/char.rb +2 -2
  10. data/lib/vedeu/output/all.rb +1 -1
  11. data/lib/vedeu/output/border.rb +8 -6
  12. data/lib/vedeu/output/clear.rb +17 -19
  13. data/lib/vedeu/output/refresh.rb +4 -10
  14. data/lib/vedeu/output/renderers/all.rb +1 -2
  15. data/lib/vedeu/output/renderers/terminal.rb +3 -1
  16. data/lib/vedeu/output/viewport.rb +8 -8
  17. data/lib/vedeu/repositories/collections/all.rb +33 -6
  18. data/lib/vedeu/repositories/registerable.rb +21 -0
  19. data/lib/vedeu/repositories/repositories/borders.rb +2 -1
  20. data/lib/vedeu/repositories/repositories/buffers.rb +2 -1
  21. data/lib/vedeu/repositories/repositories/cursors.rb +1 -1
  22. data/lib/vedeu/repositories/repositories/events_repository.rb +1 -1
  23. data/lib/vedeu/repositories/repositories/geometries.rb +2 -1
  24. data/lib/vedeu/repositories/repositories/groups.rb +1 -1
  25. data/lib/vedeu/repositories/repositories/interfaces_repository.rb +2 -1
  26. data/lib/vedeu/repositories/repositories/keymaps.rb +1 -1
  27. data/lib/vedeu/repositories/repositories/menus.rb +1 -1
  28. data/lib/vedeu/repositories/repository.rb +1 -10
  29. data/lib/vedeu/support/log.rb +27 -13
  30. data/lib/vedeu/support/terminal.rb +1 -1
  31. data/lib/vedeu/support/timer.rb +11 -4
  32. data/test/lib/vedeu/cursor/move_test.rb +9 -7
  33. data/test/lib/vedeu/geometry/coordinate_test.rb +29 -21
  34. data/test/lib/vedeu/geometry/geometry_test.rb +14 -2
  35. data/test/lib/vedeu/repositories/collections/all_test.rb +71 -0
  36. data/vedeu.gemspec +2 -5
  37. metadata +6 -22
  38. data/lib/vedeu/repositories/collections/chars.rb +0 -8
  39. data/lib/vedeu/repositories/collections/events.rb +0 -8
  40. data/lib/vedeu/repositories/collections/interfaces.rb +0 -8
  41. data/lib/vedeu/repositories/collections/keys.rb +0 -8
  42. data/lib/vedeu/repositories/collections/lines.rb +0 -8
  43. data/lib/vedeu/repositories/collections/streams.rb +0 -8
  44. data/test/lib/vedeu/repositories/collections/chars_test.rb +0 -16
  45. data/test/lib/vedeu/repositories/collections/events_test.rb +0 -16
  46. data/test/lib/vedeu/repositories/collections/interfaces_test.rb +0 -16
  47. data/test/lib/vedeu/repositories/collections/keys_test.rb +0 -16
  48. data/test/lib/vedeu/repositories/collections/lines_test.rb +0 -16
  49. data/test/lib/vedeu/repositories/collections/streams_test.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 365b29b26543c213bcb8ca54063e55261dca7d47
4
- data.tar.gz: 8fbbb26db13f252b6cdba3ccaaf851718335a854
3
+ metadata.gz: d53834cae0f1a3dc8708b3706bf87d4014f16c90
4
+ data.tar.gz: 08bc9cd02ad0672be13d272172912d6b7975fd41
5
5
  SHA512:
6
- metadata.gz: 224fd3df8947ad37738184011a53c1814530cb8ee923f3e634a8e398710b42399aa15d9ad95cc57c2356da16208fb3c972dc9b0a92c0c2e9cb73d059074f1c86
7
- data.tar.gz: 2d99311229522afc70142dbca1f15d05f2cce5954548cf1f05d275a51545d7b729e67748c48b9ead6578457d503097418239826fd658501a8d2c5c59c1a5cec9
6
+ metadata.gz: 522ba5bc35cfb89d15c28b8784da90634a80106e3aaa463e039c9b1c01c310a4cec9e87dccc7b9fba55a6b5f81bd39573cf854241e203c7400bbe8652cc593d1
7
+ data.tar.gz: 44e0de6a4e2541b1672e0c79bfdf183bd4b2ce9e408525c41c79c9772ca160a6e6387d46950201ef05eb925672e3b6329347eaa61db186d08525af144fed640e
@@ -28,10 +28,15 @@ class VedeuCursorApp
28
28
  end
29
29
 
30
30
  keymap('_global_') do
31
- key(:up, 'k') { Vedeu.trigger(:_cursor_up_) }
32
- key(:right, 'l') { Vedeu.trigger(:_cursor_right_) }
33
- key(:down, 'j') { Vedeu.trigger(:_cursor_down_) }
34
- key(:left, 'h') { Vedeu.trigger(:_cursor_left_) }
31
+ key(:up) { Vedeu.trigger(:_cursor_up_) }
32
+ key(:right) { Vedeu.trigger(:_cursor_right_) }
33
+ key(:down) { Vedeu.trigger(:_cursor_down_) }
34
+ key(:left) { Vedeu.trigger(:_cursor_left_) }
35
+
36
+ key('k') { Vedeu.trigger(:_geometry_up_, 'main_interface') }
37
+ key('l') { Vedeu.trigger(:_geometry_right_, 'main_interface') }
38
+ key('j') { Vedeu.trigger(:_geometry_down_, 'main_interface') }
39
+ key('h') { Vedeu.trigger(:_geometry_left_, 'main_interface') }
35
40
 
36
41
  key('m') { Vedeu.trigger(:_maximise_, 'main_interface') }
37
42
  key('u') { Vedeu.trigger(:_unmaximise_, 'main_interface') }
@@ -58,10 +58,7 @@ module Vedeu
58
58
  # you should define to 'do things'. If the `escape` key is pressed, then
59
59
  # `key` is triggered with the argument `:escape`, also an internal event
60
60
  # `_mode_switch_` is triggered.
61
- Vedeu.bind(:_keypress_) do |key|
62
- Vedeu.trigger(:key, key)
63
- Vedeu.keypress(key)
64
- end
61
+ Vedeu.bind(:_keypress_) { |key| Vedeu.keypress(key) }
65
62
 
66
63
  # Will cause the triggering of the `:command` event; which you should define
67
64
  # to 'do things'.
@@ -95,19 +92,49 @@ module Vedeu
95
92
  end
96
93
 
97
94
  # @see {Vedeu::Move}
98
- Vedeu.bind(:_cursor_down_) { |name| Vedeu::Move.by_name(:down, name) }
95
+ Vedeu.bind(:_cursor_down_) do |name|
96
+ Vedeu::Move.by_name(Vedeu::Cursor, :down, name)
97
+ end
98
+
99
+ # @see {Vedeu::Move}
100
+ Vedeu.bind(:_cursor_left_) do |name|
101
+ Vedeu::Move.by_name(Vedeu::Cursor, :left, name)
102
+ end
103
+
104
+ # @see {Vedeu::Move}
105
+ Vedeu.bind(:_cursor_right_) do |name|
106
+ Vedeu::Move.by_name(Vedeu::Cursor, :right, name)
107
+ end
108
+
109
+ # @see {Vedeu::Move}
110
+ Vedeu.bind(:_cursor_up_) do |name|
111
+ Vedeu::Move.by_name(Vedeu::Cursor, :up, name)
112
+ end
99
113
 
100
114
  # @see {Vedeu::Move}
101
- Vedeu.bind(:_cursor_left_) { |name| Vedeu::Move.by_name(:left, name) }
115
+ Vedeu.bind(:_cursor_origin_) do |name|
116
+ Vedeu::Move.by_name(Vedeu::Cursor, :origin, name)
117
+ end
102
118
 
103
119
  # @see {Vedeu::Move}
104
- Vedeu.bind(:_cursor_right_) { |name| Vedeu::Move.by_name(:right, name) }
120
+ Vedeu.bind(:_geometry_down_) do |name|
121
+ Vedeu.geometries.by_name(name).move(1, 0)
122
+ end
105
123
 
106
124
  # @see {Vedeu::Move}
107
- Vedeu.bind(:_cursor_up_) { |name| Vedeu::Move.by_name(:up, name) }
125
+ Vedeu.bind(:_geometry_left_) do |name|
126
+ Vedeu.geometries.by_name(name).move(0, -1)
127
+ end
108
128
 
109
129
  # @see {Vedeu::Move}
110
- Vedeu.bind(:_cursor_origin_) { |name| Vedeu::Move.by_name(:origin, name) }
130
+ Vedeu.bind(:_geometry_right_) do |name|
131
+ Vedeu.geometries.by_name(name).move(0, 1)
132
+ end
133
+
134
+ # @see {Vedeu::Move}
135
+ Vedeu.bind(:_geometry_up_) do |name|
136
+ Vedeu.geometries.by_name(name).move(-1, 0)
137
+ end
111
138
 
112
139
  # @see {Vedeu::Move}
113
140
  Vedeu.bind(:_cursor_reset_) { |name| Vedeu.trigger(:_cursor_origin_, name) }
@@ -30,26 +30,6 @@ module Vedeu
30
30
  # irrespective of content.
31
31
  class Move
32
32
 
33
- extend Forwardable
34
-
35
- def_delegators :border,
36
- :height,
37
- :width,
38
- :x,
39
- :y
40
-
41
- # Returns an instance of Vedeu::Move.
42
- #
43
- # @param name [String] The name of the cursor.
44
- # @param dy [Fixnum] Move up (-1), or down (1), or no action (0).
45
- # @param dx [Fixnum] Move left (-1), or right (1), or no action (0).
46
- # @return [Move]
47
- def initialize(name, dy = 0, dx = 0)
48
- @name = name
49
- @dy = dy
50
- @dx = dx
51
- end
52
-
53
33
  # Move the named cursor, or that which is currently in focus in the
54
34
  # specified direction.
55
35
  #
@@ -60,61 +40,88 @@ module Vedeu
60
40
  # moved; when not given, the interface currently in focus determines which
61
41
  # cursor instance to move.
62
42
  # @return [Cursor]
63
- def self.by_name(direction, name = nil)
43
+ def self.by_name(entity, direction, name = nil)
64
44
  name = name ? name : Vedeu.focus
65
45
 
66
- Vedeu::Move.send(direction, name)
46
+ Vedeu::Move.send(direction, entity, name)
67
47
  end
68
48
 
69
49
  # Moves the cursor down by one row.
70
50
  #
51
+ # @param entity [Class]
71
52
  # @param name [String]
72
53
  # @return [Cursor]
73
- def self.down(name)
74
- new(name, 1, 0).move
54
+ def self.down(entity, name)
55
+ new(entity, name, 1, 0).move
75
56
  end
76
57
 
77
58
  # Moves the cursor left by one column.
78
59
  #
60
+ # @param entity [Class]
79
61
  # @param name [String]
80
62
  # @return [Cursor]
81
- def self.left(name)
82
- new(name, 0, -1).move
63
+ def self.left(entity, name)
64
+ new(entity, name, 0, -1).move
83
65
  end
84
66
 
85
67
  # Moves the cursor right by one column.
86
68
  #
69
+ # @param entity [Class]
87
70
  # @param name [String]
88
71
  # @return [Cursor]
89
- def self.right(name)
90
- new(name, 0, 1).move
72
+ def self.right(entity, name)
73
+ new(entity, name, 0, 1).move
91
74
  end
92
75
 
93
76
  # Moves the cursor up by one row.
94
77
  #
78
+ # @param entity [Class]
95
79
  # @param name [String]
96
80
  # @return [Cursor]
97
- def self.up(name)
98
- new(name, -1, 0).move
81
+ def self.up(entity, name)
82
+ new(entity, name, -1, 0).move
99
83
  end
100
84
 
101
85
  # Moves the cursor to the top left coordinate of the interface.
102
86
  #
87
+ # @param entity [Class]
103
88
  # @param name [String]
104
89
  # @return [Cursor]
105
- def self.origin(name)
106
- new(name, -2000, -2000).move
90
+ def self.origin(entity, name)
91
+ new(entity, name, -2000, -2000).move
92
+ end
93
+
94
+ # Returns an instance of Vedeu::Move.
95
+ #
96
+ # @param entity [Class]
97
+ # @param name [String] The name of the cursor.
98
+ # @param dy [Fixnum] Move up (-1), or down (1), or no action (0).
99
+ # @param dx [Fixnum] Move left (-1), or right (1), or no action (0).
100
+ # @return [Move]
101
+ def initialize(entity, name, dy = 0, dx = 0)
102
+ @entity = entity
103
+ @name = name
104
+ @dy = dy
105
+ @dx = dx
107
106
  end
108
107
 
109
108
  # Returns a newly positioned and stored Cursor.
110
109
  #
111
110
  # @return [Cursor]
112
111
  def move
113
- cursor = Vedeu::Cursor.new(attributes.merge!(new_attributes)).store
112
+ attrs = attributes.merge!(new_attributes)
113
+
114
+ model = entity.new(attrs).store
114
115
 
115
- Vedeu.trigger(:_refresh_cursor_, name)
116
+ if model.is_a?(Vedeu::Cursor)
117
+ Vedeu.trigger(:_refresh_cursor_, name)
116
118
 
117
- cursor
119
+ else
120
+ Vedeu.trigger(:_refresh_, name)
121
+
122
+ end
123
+
124
+ model
118
125
  end
119
126
 
120
127
  protected
@@ -127,6 +134,10 @@ module Vedeu
127
134
  # @return [Fixnum]
128
135
  attr_reader :dy
129
136
 
137
+ # @!attribute [r] entity
138
+ # @return [Fixnum]
139
+ attr_reader :entity
140
+
130
141
  # @!attribute [r] name
131
142
  # @return [String]
132
143
  attr_reader :name
@@ -145,22 +156,13 @@ module Vedeu
145
156
  # @return [Hash<Symbol => Fixnum>]
146
157
  def new_attributes
147
158
  {
148
- x: validator.x,
149
- y: validator.y,
159
+ x: x_position,
160
+ y: y_position,
150
161
  ox: ox,
151
162
  oy: oy,
152
163
  }
153
164
  end
154
165
 
155
- # Validates the new position of the cursor.
156
- #
157
- # @return [PositionValidator]
158
- def validator
159
- @validator ||= Vedeu::PositionValidator.validate(name,
160
- x_position,
161
- y_position)
162
- end
163
-
164
166
  # Returns the cursors x position based on its current offset.
165
167
  #
166
168
  # @return [Fixnum]
@@ -175,17 +177,9 @@ module Vedeu
175
177
  coordinate.y_position(oy)
176
178
  end
177
179
 
178
- # Retrieve the border for the named view: this will provide the geometry for
179
- # the cursor, ensuring it displays within the interface boundaries.
180
- #
181
- # @return (see Vedeu::Borders#by_name)
182
- def border
183
- @border ||= Vedeu.borders.by_name(name)
184
- end
185
-
186
180
  # @return [Coordinate]
187
181
  def coordinate
188
- @coordinate ||= Vedeu::Coordinate.new(height, width, x, y)
182
+ @coordinate ||= Vedeu::Coordinate.new(name)
189
183
  end
190
184
 
191
185
  # @return (see Vedeu::Cursors#by_name)
@@ -3,34 +3,24 @@ module Vedeu
3
3
  # Crudely corrects out of range values.
4
4
  class Coordinate
5
5
 
6
- # @!attribute [r] height
7
- # @return [Fixnum]
8
- attr_reader :height
9
-
10
- # @!attribute [r] width
11
- # @return [Fixnum]
12
- attr_reader :width
13
-
14
- # @!attribute [r] x
15
- # @return [Fixnum]
16
- attr_reader :x
17
-
18
- # @!attribute [r] y
19
- # @return [Fixnum]
20
- attr_reader :y
6
+ extend Forwardable
7
+
8
+ def_delegators :border,
9
+ :bx,
10
+ :bxn,
11
+ :by,
12
+ :byn,
13
+ :height,
14
+ :width,
15
+ :x,
16
+ :y
21
17
 
22
18
  # Returns a new instance of Vedeu::Coordinate.
23
19
  #
24
- # @param height [Fixnum]
25
- # @param width [Fixnum]
26
- # @param x [Fixnum]
27
- # @param y [Fixnum]
20
+ # @param name [String]
28
21
  # @return [Vedeu::Coordinate]
29
- def initialize(height, width, x, y)
30
- @height = height
31
- @width = width
32
- @x = x
33
- @y = y
22
+ def initialize(name)
23
+ @name = name
34
24
  end
35
25
 
36
26
  # Returns the maximum y coordinate for an area.
@@ -81,16 +71,17 @@ module Vedeu
81
71
  # @param index [Fixnum]
82
72
  # @return [Fixnum]
83
73
  def y_position(index = 0)
84
- if index <= 0
85
- y
74
+ value = if index <= 0
75
+ y
86
76
 
87
- elsif index > yn_index
88
- yn
77
+ elsif index > yn_index
78
+ yn
89
79
 
90
- else
91
- y_range[index]
80
+ else
81
+ y_range[index]
92
82
 
93
- end
83
+ end
84
+ validate_y(value)
94
85
  end
95
86
 
96
87
  # Returns the x coordinate for a given index.
@@ -105,16 +96,17 @@ module Vedeu
105
96
  # @param index [Fixnum]
106
97
  # @return [Fixnum]
107
98
  def x_position(index = 0)
108
- if index <= 0
109
- x
99
+ value = if index <= 0
100
+ x
110
101
 
111
- elsif index > xn_index
112
- xn
102
+ elsif index > xn_index
103
+ xn
113
104
 
114
- else
115
- x_range[index]
105
+ else
106
+ x_range[index]
116
107
 
117
- end
108
+ end
109
+ validate_x(value)
118
110
  end
119
111
 
120
112
  protected
@@ -125,6 +117,27 @@ module Vedeu
125
117
 
126
118
  private
127
119
 
120
+ # @return (see Vedeu::Borders#by_name)
121
+ def border
122
+ @border ||= Vedeu.borders.by_name(name)
123
+ end
124
+
125
+ # @param value [Fixnum]
126
+ # @return [Fixnum]
127
+ def validate_x(value)
128
+ value = value < bx ? bx : value
129
+ value = value > bxn ? bxn : value
130
+ value
131
+ end
132
+
133
+ # @param value [Fixnum]
134
+ # @return [Fixnum]
135
+ def validate_y(value)
136
+ value = value < by ? by : value
137
+ value = value > byn ? byn : value
138
+ value
139
+ end
140
+
128
141
  # Returns the maximum y index for an area.
129
142
  #
130
143
  # @example
@@ -105,35 +105,63 @@ module Vedeu
105
105
 
106
106
  # @return [String]
107
107
  def inspect
108
- "<Vedeu::Geometry x:#{x} xn:#{xn} y:#{y} yn:#{yn} maximise:#{maximised}>"
108
+ '<Vedeu::Geometry ' \
109
+ "x:#{x} " \
110
+ "xn:#{xn} " \
111
+ "y:#{y} " \
112
+ "yn:#{yn} " \
113
+ "centred:#{centred} " \
114
+ "maximise:#{maximised}>"
109
115
  end
110
116
 
111
- # @return [Vedeu::Geometry]
117
+ # @return [Vedeu::Geometry|NilClass]
112
118
  def maximise
113
- unless maximised?
114
- @maximised = true
119
+ return self if maximised?
120
+
121
+ @maximised = true
115
122
 
116
- work = store
123
+ work = store
117
124
 
118
- Vedeu.trigger(:_refresh_, name)
125
+ Vedeu.trigger(:_refresh_, name)
119
126
 
120
- work
121
- end
127
+ work
122
128
  end
123
129
 
124
- # @return [Vedeu::Geometry]
130
+ # @return [Vedeu::Geometry|NilClass]
125
131
  def unmaximise
126
- if maximised?
127
- Vedeu.trigger(:_clear_, name)
132
+ return self unless maximised?
133
+
134
+ Vedeu.trigger(:_clear_, name)
135
+
136
+ @maximised = false
137
+
138
+ work = store
128
139
 
129
- @maximised = false
140
+ Vedeu.trigger(:_refresh_, name)
141
+
142
+ work
143
+ end
144
+
145
+ # @param dy [Fixnum]
146
+ # @param dx [Fixnum]
147
+ # @return [Vedeu::Geometry]
148
+ def move(dy = 0, dx = 0)
149
+ new_attrs = {
150
+ centred: false,
151
+ maximised: false,
152
+ name: name,
153
+ x: (area.x + dx),
154
+ y: (area.y + dy),
155
+ xn: (area.xn + dx),
156
+ yn: (area.yn + dy),
157
+ }
130
158
 
131
- work = store
159
+ work = Vedeu::Geometry.new(new_attrs).store
132
160
 
133
- Vedeu.trigger(:_refresh_, name)
161
+ Vedeu.trigger(:_clear_)
162
+ Vedeu.trigger(:_refresh_, name)
134
163
 
135
- work
136
- end
164
+ work
137
165
  end
138
166
 
139
167
  private
@@ -70,13 +70,9 @@ module Vedeu
70
70
  # @yieldreturn [void] Returns the block wrapped in position escape
71
71
  # sequences.
72
72
  def to_s
73
- if block_given?
74
- [sequence, yield, sequence].join
73
+ return sequence unless block_given?
75
74
 
76
- else
77
- sequence
78
-
79
- end
75
+ [sequence, yield, sequence].join
80
76
  end
81
77
 
82
78
  private
@@ -10,6 +10,8 @@ module Vedeu
10
10
  # @param (see #initialize)
11
11
  # @return [Boolean]
12
12
  def self.keypress(key = nil, name = nil)
13
+ Vedeu.trigger(:key, key)
14
+
13
15
  return false unless key
14
16
 
15
17
  new(key, name).keypress
@@ -76,7 +76,7 @@ module Vedeu
76
76
 
77
77
  # @return [Vedeu::Position]
78
78
  def position
79
- @position ||= Vedeu::Position.coerce(attributes[:position])
79
+ @position ||= Vedeu::Position.coerce(@attributes[:position])
80
80
  end
81
81
 
82
82
  # Sets the position of the Char.
@@ -84,7 +84,7 @@ module Vedeu
84
84
  # @param value [Vedeu::Position]
85
85
  # @return [Vedeu::Position]
86
86
  def position=(value)
87
- @position = Vedeu::Position.coerce(value)
87
+ @position = @attributes[:position] = Vedeu::Position.coerce(value)
88
88
  end
89
89
 
90
90
  # @return [String]
@@ -2,11 +2,11 @@ require_relative 'esc'
2
2
  require_relative 'translator'
3
3
  require_relative 'background'
4
4
  require_relative 'foreground'
5
+ require_relative 'presentation'
5
6
  require_relative 'border'
6
7
  require_relative 'colour'
7
8
  require_relative 'compressor'
8
9
  require_relative 'clear'
9
- require_relative 'presentation'
10
10
  require_relative 'style'
11
11
  require_relative 'text'
12
12
  require_relative 'virtual_buffer'
@@ -159,13 +159,15 @@ module Vedeu
159
159
  return [] unless visible?
160
160
  return [] unless enabled?
161
161
 
162
- out = [top, bottom]
162
+ Vedeu::Timer.for(:debug, "Border rendering: #{name}") do
163
+ out = [top, bottom]
163
164
 
164
- height.times do |y|
165
- out << [left(y), right(y)]
166
- end
165
+ height.times do |y|
166
+ out << [left(y), right(y)]
167
+ end
167
168
 
168
- out.flatten
169
+ out.flatten
170
+ end
169
171
  end
170
172
 
171
173
  # @return [String]
@@ -316,7 +318,7 @@ module Vedeu
316
318
 
317
319
  # @return [Vedeu::Geometry]
318
320
  def geometry
319
- @geometry ||= Vedeu.geometries.by_name(name)
321
+ Vedeu.geometries.by_name(name)
320
322
  end
321
323
 
322
324
  # @return [Vedeu::Interface]
@@ -58,14 +58,14 @@ module Vedeu
58
58
  # @return [Array<Array<Vedeu::Char>>]
59
59
  def clear
60
60
  if visible?
61
- Vedeu.log(type: :output, message: "Clearing: '#{name}'")
62
-
63
- @clear ||= Array.new(height) do |iy|
64
- Array.new(width) do |ix|
65
- Vedeu::Char.new(value: ' ',
66
- colour: clear_colour,
67
- style: style,
68
- position: Vedeu::IndexPosition[iy, ix, *position])
61
+ Vedeu::Timer.for(:debug, "Clearing: #{name}") do
62
+ @clear ||= Array.new(height) do |iy|
63
+ Array.new(width) do |ix|
64
+ Vedeu::Char.new(value: ' ',
65
+ colour: clear_colour,
66
+ style: style,
67
+ position: Vedeu::IndexPosition[iy, ix, *position])
68
+ end
69
69
  end
70
70
  end
71
71
  else
@@ -106,13 +106,13 @@ module Vedeu
106
106
  # the terminal, or the colours of the interface.
107
107
  def clear_colour
108
108
  @colour ||= if use_terminal_colours?
109
- Vedeu::Colour.new(background: :default,
110
- foreground: :default)
109
+ Vedeu::Colour.new(background: :default,
110
+ foreground: :default)
111
111
 
112
- else
113
- colour
112
+ else
113
+ colour
114
114
 
115
- end
115
+ end
116
116
  end
117
117
 
118
118
  # @return [Hash<Symbol => Boolean>]
@@ -146,17 +146,15 @@ module Vedeu
146
146
  @_options ||= defaults.merge!(@options)
147
147
  end
148
148
 
149
- # @param iy [Fixnum]
150
- # @param ix [Fixnum]
151
149
  # @return [Vedeu::IndexPosition]
152
150
  def position
153
151
  @position ||= if clear_border?
154
- [y, x]
152
+ [y, x]
155
153
 
156
- else
157
- [by, bx]
154
+ else
155
+ [by, bx]
158
156
 
159
- end
157
+ end
160
158
  end
161
159
 
162
160
  # @return [Boolean] Indicates whether the default terminal colours should be
@@ -10,11 +10,9 @@ module Vedeu
10
10
  #
11
11
  # @return [Array]
12
12
  def all
13
- message = "Refreshing all interfaces"
13
+ message = 'Refreshing all interfaces'
14
14
 
15
- Vedeu.log(type: :info, message: message)
16
-
17
- Vedeu::Timer.for(message) do
15
+ Vedeu::Timer.for(:info, message) do
18
16
  Vedeu.interfaces.registered.each { |name| by_name(name) }
19
17
  end
20
18
  end
@@ -34,9 +32,7 @@ module Vedeu
34
32
  def by_group(group_name)
35
33
  message = "Refreshing group: '#{group_name}'"
36
34
 
37
- Vedeu.log(type: :info, message: message)
38
-
39
- Vedeu::Timer.for(message) do
35
+ Vedeu::Timer.for(:info, message) do
40
36
  Vedeu.groups.find!(group_name).members.each { |name| by_name(name) }
41
37
  end
42
38
  end
@@ -49,9 +45,7 @@ module Vedeu
49
45
  def by_name(name)
50
46
  message = "Refreshing interface: '#{name}'"
51
47
 
52
- Vedeu.log(type: :info, message: message)
53
-
54
- Vedeu::Timer.for(message) { Vedeu.buffers.by_name(name).render }
48
+ Vedeu::Timer.for(:info, message) { Vedeu.buffers.by_name(name).render }
55
49
  end
56
50
 
57
51
  end # Refresh