vedeu 0.4.11 → 0.4.12

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +736 -0
  3. data/Rakefile +7 -0
  4. data/bin/vedeu_drb_server +1 -1
  5. data/config/rubocop_disabled.yml +50 -0
  6. data/config/rubocop_enabled.yml +1044 -0
  7. data/examples/borders_app.rb +3 -1
  8. data/examples/colours_app.rb +3 -1
  9. data/examples/configuration_app.rb +1 -1
  10. data/examples/cursor_app.rb +4 -1
  11. data/examples/drb_app.rb +3 -1
  12. data/examples/focus_app.rb +1 -1
  13. data/examples/geometry_app.rb +3 -1
  14. data/examples/hello_world.rb +3 -1
  15. data/examples/lines_app.rb +3 -1
  16. data/examples/typed_commands/typed_commands_app.rb +1 -1
  17. data/examples/view_templates_app/view_templates_app.rb +3 -1
  18. data/lib/vedeu/api.rb +4 -3
  19. data/lib/vedeu/bindings.rb +1 -1
  20. data/lib/vedeu/configuration/api.rb +1 -1
  21. data/lib/vedeu/configuration/cli.rb +3 -2
  22. data/lib/vedeu/configuration/configuration.rb +1 -1
  23. data/lib/vedeu/cursor/cursor.rb +2 -2
  24. data/lib/vedeu/cursor/refresh_cursor.rb +3 -1
  25. data/lib/vedeu/distributed/templates/default_configuration.vedeu +1 -1
  26. data/lib/vedeu/events/event.rb +3 -5
  27. data/lib/vedeu/geometry/position.rb +1 -1
  28. data/lib/vedeu/input/all.rb +1 -1
  29. data/lib/vedeu/input/key.rb +5 -8
  30. data/lib/vedeu/models/all.rb +9 -12
  31. data/lib/vedeu/models/interface.rb +1 -1
  32. data/lib/vedeu/models/menu.rb +1 -1
  33. data/lib/vedeu/output/border.rb +18 -14
  34. data/lib/vedeu/output/clear.rb +10 -3
  35. data/lib/vedeu/output/esc.rb +4 -14
  36. data/lib/vedeu/output/html_char.rb +11 -7
  37. data/lib/vedeu/output/null_border.rb +10 -0
  38. data/lib/vedeu/output/presentation.rb +6 -22
  39. data/lib/vedeu/output/refresh.rb +0 -11
  40. data/lib/vedeu/output/renderers/terminal_renderer.rb +1 -1
  41. data/lib/vedeu/output/translator.rb +5 -5
  42. data/lib/vedeu/output/viewport.rb +12 -9
  43. data/lib/vedeu/repositories/collections.rb +6 -0
  44. data/lib/vedeu/support/visible.rb +17 -12
  45. data/lib/vedeu/traps.rb +3 -3
  46. data/test/lib/vedeu/configuration/cli_test.rb +1 -1
  47. data/test/lib/vedeu/output/null_border_test.rb +14 -0
  48. data/test/lib/vedeu/output/refresh_test.rb +0 -21
  49. data/test/lib/vedeu/support/coercions_test.rb +5 -5
  50. data/test/lib/vedeu/support/common_test.rb +1 -1
  51. data/test/lib/vedeu/support/visible_test.rb +10 -5
  52. data/test/test_helper.rb +2 -2
  53. data/vedeu.gemspec +3 -2
  54. metadata +22 -5
@@ -5,11 +5,13 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate borders.
9
+ #
8
10
  class VedeuBordersApp
9
11
  include Vedeu
10
12
 
11
13
  configure do
12
- colour_mode 16777216
14
+ colour_mode 16_777_216
13
15
  debug!
14
16
  log '/tmp/vedeu_borders_app.log'
15
17
  end
@@ -5,11 +5,13 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate colours.
9
+ #
8
10
  class VedeuColoursApp
9
11
  include Vedeu
10
12
 
11
13
  configure do
12
- colour_mode 16777216
14
+ colour_mode 16_777_216
13
15
  debug!
14
16
  log '/tmp/vedeu_colours_app.log'
15
17
  end
@@ -19,7 +19,7 @@ class VedeuConfigurationApp
19
19
  include Vedeu
20
20
 
21
21
  configure do
22
- colour_mode 16777216
22
+ colour_mode 16_777_216
23
23
  debug!
24
24
  log '/tmp/vedeu_configuration_app.log'
25
25
  end
@@ -5,11 +5,14 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate cursors; their movement and effect on
9
+ # the viewport of the interface in focus.
10
+ #
8
11
  class VedeuCursorApp
9
12
  include Vedeu
10
13
 
11
14
  configure do
12
- colour_mode 16777216
15
+ colour_mode 16_777_216
13
16
  debug!
14
17
  log '/tmp/vedeu_cursor_app.log'
15
18
  end
data/examples/drb_app.rb CHANGED
@@ -5,11 +5,13 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate the DRb server.
9
+ #
8
10
  class VedeuTestApplication
9
11
  # include Vedeu
10
12
 
11
13
  Vedeu.configure do
12
- colour_mode 16777216
14
+ colour_mode 16_777_216
13
15
  log '/tmp/vedeu_test_helper.log'
14
16
  debug!
15
17
  drb!
@@ -17,7 +17,7 @@ class VedeuFocusApp
17
17
  include Vedeu
18
18
 
19
19
  configure do
20
- colour_mode 16777216
20
+ colour_mode 16_777_216
21
21
  debug!
22
22
  log '/tmp/vedeu_focus_app.log'
23
23
  end
@@ -5,11 +5,13 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate geometry.
9
+ #
8
10
  class VedeuGeometryApp
9
11
  include Vedeu
10
12
 
11
13
  configure do
12
- colour_mode 16777216
14
+ colour_mode 16_777_216
13
15
  debug!
14
16
  log '/tmp/vedeu_geometry_app.log'
15
17
  end
@@ -8,11 +8,13 @@ trap('INT') { exit! }
8
8
  # require 'bundler/setup' # uncomment to remove the need to do `bundle exec`.
9
9
  require 'vedeu'
10
10
 
11
+ # An example application to demonstrate 'Hello World'.
12
+ #
11
13
  class HelloWorldApp
12
14
  include Vedeu
13
15
 
14
16
  configure do
15
- colour_mode 16777216
17
+ colour_mode 16_777_216
16
18
  debug!
17
19
  log '/tmp/vedeu_hello_world.log'
18
20
  end
@@ -5,11 +5,13 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate interface lines.
9
+ #
8
10
  class VedeuLinesApp
9
11
  include Vedeu
10
12
 
11
13
  configure do
12
- colour_mode 16777216
14
+ colour_mode 16_777_216
13
15
  debug!
14
16
  log '/tmp/vedeu_lines_app.log'
15
17
  end
@@ -9,7 +9,7 @@ class VedeuTypedCommands
9
9
  include Vedeu
10
10
 
11
11
  configure do
12
- colour_mode 16777216
12
+ colour_mode 16_777_216
13
13
  debug!
14
14
  log '/tmp/vedeu_typed_commands_app.log'
15
15
  end
@@ -5,11 +5,13 @@ $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
5
5
 
6
6
  require 'vedeu'
7
7
 
8
+ # An example application to demonstrate templates.
9
+ #
8
10
  class VedeuViewTemplateApp
9
11
  include Vedeu
10
12
 
11
13
  configure do
12
- colour_mode 16777216
14
+ colour_mode 16_777_216
13
15
  debug!
14
16
  log '/tmp/vedeu_view_templates_app.log'
15
17
  end
data/lib/vedeu/api.rb CHANGED
@@ -92,14 +92,15 @@ module Vedeu
92
92
 
93
93
  # @!method bind
94
94
  # @see Vedeu::Event.bind
95
- # @!method trigger
96
- # @see Vedeu::Event.trigger
97
95
  # @!method unbind
98
96
  # @see Vedeu::Event.unbind
99
97
  def_delegators Vedeu::Event, :bind,
100
- :trigger,
101
98
  :unbind
102
99
 
100
+ # @!method trigger
101
+ # @see Vedeu::Trigger.trigger
102
+ def_delegators Vedeu::Trigger, :trigger
103
+
103
104
  # @!method configure
104
105
  # @see Vedeu::Configuration.configure
105
106
  # @!method configuration
@@ -195,7 +195,7 @@ module Vedeu
195
195
 
196
196
  # Will cause the named cursor to refresh, or the cursor of the interface
197
197
  # which is currently in focus.
198
- Vedeu.bind(:_refresh_cursor_) { |name| Vedeu::Refresh.cursor(name) }
198
+ Vedeu.bind(:_refresh_cursor_) { |name| Vedeu::RefreshCursor.render(name) }
199
199
 
200
200
  # Will cause all interfaces in the named group to refresh.
201
201
  Vedeu.bind(:_refresh_group_) { |name| Vedeu::Refresh.by_group(name) }
@@ -398,7 +398,7 @@ module Vedeu
398
398
  # @param value [Fixnum]
399
399
  # @return [Boolean]
400
400
  def valid_colour_mode?(value)
401
- value.is_a?(Fixnum) && [8, 16, 256, 16777216].include?(value)
401
+ value.is_a?(Fixnum) && [8, 16, 256, 16_777_216].include?(value)
402
402
  end
403
403
 
404
404
  # Checks that the value provided to {#exit_key}, {#focus_next_key},
@@ -75,7 +75,7 @@ module Vedeu
75
75
  opts.on('-C', '--colour-mode [COLOURS]', Integer,
76
76
  'Run application in either `8`, `16`, `256` or `16777216` ' \
77
77
  'colour mode.') do |colours|
78
- if [8, 16, 256, 16777216].include?(colours)
78
+ if [8, 16, 256, 16_777_216].include?(colours)
79
79
  options[:colour_mode] = colours
80
80
 
81
81
  else
@@ -93,7 +93,8 @@ module Vedeu
93
93
  options[:drb] = true
94
94
  end
95
95
 
96
- opts.on('--drb-host', 'Set the hostname/IP for the DRb server.') do |hostname|
96
+ opts.on('--drb-host',
97
+ 'Set the hostname/IP for the DRb server.') do |hostname|
97
98
  #options[:drb] = true
98
99
  options[:drb_host] = hostname
99
100
  end
@@ -282,7 +282,7 @@ module Vedeu
282
282
  # @return [Fixnum]
283
283
  def detect_colour_mode
284
284
  case ENV['TERM']
285
- when /-truecolor$/ then 16777216
285
+ when /-truecolor$/ then 16_777_216
286
286
  when /-256color$/, 'xterm' then 256
287
287
  when /-color$/, 'rxvt' then 16
288
288
  else 256
@@ -91,7 +91,7 @@ module Vedeu
91
91
  # @return [String]
92
92
  def to_s(&block)
93
93
  if block_given?
94
- [ sequence, yield, sequence ].join
94
+ [sequence, yield, sequence].join
95
95
 
96
96
  else
97
97
  sequence
@@ -124,7 +124,7 @@ module Vedeu
124
124
  #
125
125
  # @return [String]
126
126
  def sequence
127
- [ position, visibility ].join
127
+ [position, visibility].join
128
128
  end
129
129
 
130
130
  # Returns the escape sequence for setting the visibility of the cursor.
@@ -6,7 +6,7 @@ module Vedeu
6
6
  class RefreshCursor
7
7
 
8
8
  # @param (see #initialize)
9
- def self.render(name)
9
+ def self.render(name = Vedeu.focus)
10
10
  new(name).render
11
11
  end
12
12
 
@@ -20,6 +20,8 @@ module Vedeu
20
20
 
21
21
  # @return [Array]
22
22
  def render
23
+ Vedeu.log(type: :info, message: "Refreshing cursor: '#{name}'")
24
+
23
25
  Vedeu::Refresh.by_name(name) if refresh_view?
24
26
 
25
27
  Vedeu::Terminal.output(new_cursor.to_s)
@@ -1,5 +1,5 @@
1
1
  Vedeu.configure do
2
- colour_mode 16777216
2
+ colour_mode 16_777_216
3
3
  log '/tmp/vedeu_test_helper.log'
4
4
  debug!
5
5
  drb!
@@ -102,12 +102,10 @@ module Vedeu
102
102
  end
103
103
  alias_method :unevent, :unbind
104
104
 
105
- end
105
+ extend Forwardable
106
+
107
+ def_delegators Vedeu::Trigger, :trigger
106
108
 
107
- # @param (see Vedeu::Trigger.trigger)
108
- # @see Vedeu::Trigger.trigger
109
- def self.trigger(name, *args)
110
- Vedeu::Trigger.trigger(name, *args)
111
109
  end
112
110
 
113
111
  # Returns a new instance of Vedeu::Event.
@@ -63,7 +63,7 @@ module Vedeu
63
63
  # @return [String]
64
64
  def to_s(&block)
65
65
  if block_given?
66
- [ sequence, yield, sequence ].join
66
+ [sequence, yield, sequence].join
67
67
 
68
68
  else
69
69
  sequence
@@ -10,7 +10,7 @@ module Vedeu
10
10
  # Vedeu to run effectively.
11
11
  Vedeu::DSL::Keymap.keymap('_system_') do |keymap|
12
12
  Vedeu::Configuration.system_keys.each do |label, keypress|
13
- keymap.key(keypress) { Vedeu.trigger(("_" + label.to_s + "_").to_sym) }
13
+ keymap.key(keypress) { Vedeu.trigger(("_#{label}_").to_sym) }
14
14
  end
15
15
  end
16
16
 
@@ -4,6 +4,11 @@ module Vedeu
4
4
  #
5
5
  class Key
6
6
 
7
+ # @!attribute [r] input
8
+ # @return [String|Symbol] Returns the key defined.
9
+ attr_reader :input
10
+ alias_method :key, :input
11
+
7
12
  # Returns a new instance of Vedeu::Key.
8
13
  #
9
14
  # @param input [String|Symbol]
@@ -17,14 +22,6 @@ module Vedeu
17
22
  @output = block
18
23
  end
19
24
 
20
- # Returns the key defined.
21
- #
22
- # @return [String|Symbol]
23
- def input
24
- @input
25
- end
26
- alias_method :key, :input
27
-
28
25
  # Pressing the key will call the procedure.
29
26
  #
30
27
  # @return [|Symbol]
@@ -1,15 +1,12 @@
1
1
  require 'vedeu/repositories/all'
2
2
 
3
- require 'vedeu/models/cell'
4
- require 'vedeu/models/char'
5
- require 'vedeu/models/stream'
6
- require 'vedeu/models/line'
7
- require 'vedeu/models/interface'
8
- require 'vedeu/models/composition'
3
+ require_relative 'cell'
4
+ require_relative 'char'
5
+ require_relative 'stream'
6
+ require_relative 'line'
7
+ require_relative 'interface'
8
+ require_relative 'composition'
9
9
 
10
- require 'vedeu/models/focus'
11
- require 'vedeu/models/group'
12
- require 'vedeu/models/menu'
13
-
14
- module Vedeu
15
- end # Vedeu
10
+ require_relative 'focus'
11
+ require_relative 'group'
12
+ require_relative 'menu'
@@ -172,8 +172,8 @@ module Vedeu
172
172
  # @return [Array<Array<Vedeu::Char>>]
173
173
  def render
174
174
  [
175
- clear,
176
175
  border.render,
176
+ clear,
177
177
  viewport
178
178
  ]
179
179
  end
@@ -95,7 +95,7 @@ module Vedeu
95
95
  # Returns a new collection of items.
96
96
  # Each element of the collection is of the format:
97
97
  #
98
- # [ selected, current, item ]
98
+ # [selected, current, item]
99
99
  #
100
100
  # `selected` is a boolean indicating whether the item is selected.
101
101
  # `current` is a boolean indicating whether the item is current.
@@ -252,20 +252,20 @@ module Vedeu
252
252
  # @param prefix [String]
253
253
  # @return [String]
254
254
  def top_or_bottom(prefix)
255
- predicate = (prefix + '?').to_sym
256
- _left = (prefix + '_left').to_sym
257
- _right = (prefix + '_right').to_sym
258
- _horizontal = (prefix + '_horizontal').to_sym
255
+ predicate = (prefix + '?').to_sym
256
+ prefix_left = (prefix + '_left').to_sym
257
+ prefix_right = (prefix + '_right').to_sym
258
+ prefix_horizontal = (prefix + '_horizontal').to_sym
259
259
 
260
260
  return [] unless send(predicate)
261
261
 
262
262
  out = []
263
- out << border(send(_left), _left) if left?
263
+ out << border(send(prefix_left), prefix_left) if left?
264
264
 
265
265
  if prefix == 'top' && defined_value?(title)
266
266
  title_out = []
267
267
  width.times do |ix|
268
- title_out << border(horizontal, _horizontal, nil, ix)
268
+ title_out << border(horizontal, prefix_horizontal, nil, ix)
269
269
  end
270
270
 
271
271
  truncate = title.chomp.slice(0..(width - 5))
@@ -279,12 +279,12 @@ module Vedeu
279
279
 
280
280
  else
281
281
  width.times do |ix|
282
- out << border(horizontal, _horizontal, nil, ix)
282
+ out << border(horizontal, prefix_horizontal, nil, ix)
283
283
  end
284
284
 
285
285
  end
286
286
 
287
- out << border(send(_right), _right) if right?
287
+ out << border(send(prefix_right), prefix_right) if right?
288
288
  out
289
289
  end
290
290
 
@@ -309,15 +309,19 @@ module Vedeu
309
309
 
310
310
  # The default values for a new instance of this class.
311
311
  #
312
+ # @note
313
+ # Using the '\uXXXX' variant produces gaps in the border, whilst the
314
+ # '\xXX' renders 'nicely'.
315
+ #
312
316
  # @return [Hash]
313
317
  def defaults
314
318
  {
315
- bottom_left: "\x6D", # └
316
- bottom_right: "\x6A", # ┘
319
+ bottom_left: "\x6D", # └ # \u2514
320
+ bottom_right: "\x6A", # ┘ # \u2518
317
321
  client: nil,
318
322
  colour: {},
319
323
  enabled: false,
320
- horizontal: "\x71", # ─
324
+ horizontal: "\x71", # ─ # \u2500
321
325
  name: '',
322
326
  show_bottom: true,
323
327
  show_left: true,
@@ -325,9 +329,9 @@ module Vedeu
325
329
  show_top: true,
326
330
  style: [],
327
331
  title: '',
328
- top_left: "\x6C", # ┌
329
- top_right: "\x6B", # ┐
330
- vertical: "\x78", # │
332
+ top_left: "\x6C", # ┌ # \u250C
333
+ top_right: "\x6B", # ┐ # \u2510
334
+ vertical: "\x78", # │ # \u2502
331
335
  }
332
336
  end
333
337
 
@@ -31,12 +31,12 @@ module Vedeu
31
31
  #
32
32
  # @return [Array<Array<Vedeu::Char>>]
33
33
  def clear
34
- @clear ||= Array.new(interface.height) do |iy|
35
- Array.new(interface.width) do |ix|
34
+ @clear ||= Array.new(interface.border.height) do |iy|
35
+ Array.new(interface.border.width) do |ix|
36
36
  Vedeu::Char.new({ value: ' ',
37
37
  colour: interface.colour,
38
38
  style: interface.style,
39
- position: Vedeu::IndexPosition[iy, ix, interface.top, interface.left] })
39
+ position: position(iy, ix) })
40
40
  end
41
41
  end
42
42
  end
@@ -64,6 +64,13 @@ module Vedeu
64
64
  # @return [Interface]
65
65
  attr_reader :interface
66
66
 
67
+ # @param iy [Fixnum]
68
+ # @param ix [Fixnum]
69
+ # @return [Vedeu::IndexPosition]
70
+ def position(iy, ix)
71
+ Vedeu::IndexPosition[iy, ix, interface.border.by, interface.border.bx]
72
+ end
73
+
67
74
  end # Clear
68
75
 
69
76
  end # Vedeu
@@ -121,7 +121,7 @@ module Vedeu
121
121
  def border(&block)
122
122
  return '' unless block_given?
123
123
 
124
- [ border_on, yield, border_off ].join
124
+ [border_on, yield, border_off].join
125
125
  end
126
126
 
127
127
  private
@@ -167,18 +167,12 @@ module Vedeu
167
167
 
168
168
  # @return [String]
169
169
  def clear
170
- [
171
- colour_reset,
172
- "\e[2J"
173
- ].join
170
+ [colour_reset, "\e[2J"].join
174
171
  end
175
172
 
176
173
  # @return [String]
177
174
  def clear_line
178
- [
179
- colour_reset,
180
- "\e[2K"
181
- ].join
175
+ [colour_reset, "\e[2K"].join
182
176
  end
183
177
 
184
178
  # @return [String]
@@ -233,11 +227,7 @@ module Vedeu
233
227
 
234
228
  # @return [String]
235
229
  def screen_exit
236
- [
237
- show_cursor,
238
- colour_reset,
239
- reset
240
- ].join
230
+ [show_cursor, colour_reset, reset].join
241
231
  end
242
232
 
243
233
  # @return [String]
@@ -37,7 +37,11 @@ module Vedeu
37
37
  def td_style
38
38
  return '' unless border || defined_value?(value)
39
39
 
40
- " style='background:#{bg};color:#{fg};border:1px #{bg} solid;#{border_style}'"
40
+ " style='" \
41
+ "background:#{bg};" \
42
+ "color:#{fg};" \
43
+ "border:1px #{bg} solid;" \
44
+ "#{border_style}'"
41
45
  end
42
46
 
43
47
  # @return [String]
@@ -55,12 +59,12 @@ module Vedeu
55
59
  when :left_vertical then border_css('left')
56
60
  when :right_vertical then border_css('right')
57
61
  when :bottom_horizontal then border_css('bottom')
58
- when :top_left then [border_css('top'), border_css('left')].join
59
- when :top_right then [border_css('top'), border_css('right')].join
60
- when :bottom_left then [border_css('bottom'), border_css('left')].join
61
- when :bottom_right then [border_css('bottom'), border_css('right')].join
62
- when :horizontal then ''
63
- when :vertical then ''
62
+ when :top_left then [border_css('top'), border_css('left')].join
63
+ when :top_right then [border_css('top'), border_css('right')].join
64
+ when :bottom_left then [border_css('bottom'), border_css('left')].join
65
+ when :bottom_right then [border_css('bottom'), border_css('right')].join
66
+ when :horizontal then ''
67
+ when :vertical then ''
64
68
  else
65
69
  # ... should not get here
66
70
  ''
@@ -33,11 +33,21 @@ module Vedeu
33
33
  interface.yn
34
34
  end
35
35
 
36
+ # @return [Fixnum]
37
+ def height
38
+ (by..byn).size
39
+ end
40
+
36
41
  # @return [Array]
37
42
  def render
38
43
  []
39
44
  end
40
45
 
46
+ # @return [Fixnum]
47
+ def width
48
+ (bx..bxn).size
49
+ end
50
+
41
51
  private
42
52
 
43
53
  # @!attribute [r] interface
@@ -7,9 +7,7 @@ module Vedeu
7
7
 
8
8
  # @return [Vedeu::Background|NilClass]
9
9
  def background
10
- if colour
11
- colour.background
12
- end
10
+ colour.background if colour
13
11
  end
14
12
 
15
13
  # @return [Vedeu::Colour]
@@ -24,16 +22,12 @@ module Vedeu
24
22
 
25
23
  # @return [Vedeu::Foreground|NilClass]
26
24
  def foreground
27
- if colour
28
- colour.foreground
29
- end
25
+ colour.foreground if colour
30
26
  end
31
27
 
32
28
  # @return [Vedeu::Background|NilClass]
33
29
  def parent_background
34
- if parent_colour
35
- parent_colour.background
36
- end
30
+ parent_colour.background if parent_colour
37
31
  end
38
32
 
39
33
  # @return [String|NilClass]
@@ -43,9 +37,7 @@ module Vedeu
43
37
 
44
38
  # @return [Vedeu::Foreground|NilClass]
45
39
  def parent_foreground
46
- if parent_colour
47
- parent_colour.foreground
48
- end
40
+ parent_colour.foreground if parent_colour
49
41
  end
50
42
 
51
43
  # @return [String|NilClass]
@@ -91,11 +83,7 @@ module Vedeu
91
83
  #
92
84
  # @return [String]
93
85
  def render_colour
94
- [
95
- colour,
96
- yield,
97
- parent_colour
98
- ].join
86
+ [colour, yield, parent_colour].join
99
87
  end
100
88
 
101
89
  # @return [String]
@@ -115,11 +103,7 @@ module Vedeu
115
103
  #
116
104
  # @return [String]
117
105
  def render_style
118
- [
119
- style,
120
- yield,
121
- parent_style
122
- ].join
106
+ [style, yield, parent_style].join
123
107
  end
124
108
 
125
109
  end # Presentation