Module: Vedeu::DSL::Colour

Included in:
Border, Interface, Line, Stream
Defined in:
lib/vedeu/dsl/shared/colour.rb

Overview

Provides colour helpers for use in the Interface, Line and Stream classes.

Instance Method Summary collapse

Instance Method Details

#background(value = '') ⇒ String Also known as: bg, bgcolor

Note:

The last defined background colour for a particular interface, line or stream overrides previously defined entries in the same block.

Define the background colour for an interface, line, or a stream. When called with a block, will create a new stream with the background colour specified. When the block terminates, the background will return to that of the parent.

Examples:

interface 'my_interface' do
  background '#0022ff' # /or/ (blue)
  bgcolor    '#22ff00' # /or/ (blue is overridden to green)
  bg         '#ff0022' #      (green is overridden to red)
  # ...

  lines do
    background '#2200ff'
    # ...

    stream do
      background '#22ff00'
      # ...

Parameters:

  • value (String) (defaults to: '')

Returns:

  • (String)


38
39
40
# File 'lib/vedeu/dsl/shared/colour.rb', line 38

def background(value = '')
  colour({ background: value })
end

#colour(attributes = {}) ⇒ Hash

Note:

Rejects invalid keys and empty/nil attributes. Also, the last defined colour for a particular interface, line or stream overrides previously defined entries in the same block.

Define either or both foreground and background colours for an interface, line or a stream. At least one attribute is required.

Examples:

interface 'my_interface' do
  colour background: '#ff00ff', foreground: '#ffff00'
  # ...

  lines do
    colour background: '#000000', foreground: '#ffffff'
    # ...

    stream do
      colour background: '#000000', foreground: '#ffffff'
      # ...

Parameters:

  • attributes (Hash) (defaults to: {})

    See Colour

Returns:

  • (Hash)


74
75
76
77
78
79
80
# File 'lib/vedeu/dsl/shared/colour.rb', line 74

def colour(attributes = {})
  attributes.delete_if do |k, v|
    [:background, :foreground].include?(k) == false || v.nil? || v.empty?
  end

  model.colour = Vedeu::Colour.new(attributes)
end

#foreground(value = '') ⇒ Object Also known as: fg, fgcolor

See Also:



45
46
47
# File 'lib/vedeu/dsl/shared/colour.rb', line 45

def foreground(value = '')
  colour({ foreground: value })
end