Class: Vedeu::Presentation::Style Private

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Common
Defined in:
lib/vedeu/presentation/style.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Converts the style value or value collection into a terminal escape sequence. Unrecognised values are discarded- an empty string is returned.

Vedeu has a range of symbol styles which are compatible with most terminals which are ANSI compatible. Like colours, they can be defined in either interfaces, for specific lines or within streams. Styles are applied as encountered.

See Also:

API:

  • private

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Common

#absent?, #array?, #boolean, #boolean?, #empty_value?, #escape?, #falsy?, #hash?, #line_model?, #numeric?, #positionable?, #present?, #snake_case, #stream_model?, #string?, #symbol?, #truthy?, #view_model?

Constructor Details

#initialize(value = nil) ⇒ Vedeu::Presentation::Style

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return a new instance of Vedeu::Presentation::Style.

Parameters:

  • (defaults to: nil)

    The style value or a collection of values.

API:

  • private



42
43
44
# File 'lib/vedeu/presentation/style.rb', line 42

def initialize(value = nil)
  @value = value
end

Instance Attribute Details

#valueString|Symbol

Returns:



35
36
37
# File 'lib/vedeu/presentation/style.rb', line 35

def value
  @value
end

Instance Method Details

#attributesHash<Symbol => Array<String|Symbol>|String|Symbol>

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return an attributes hash for this class.

Returns:

API:

  • private



49
50
51
52
53
# File 'lib/vedeu/presentation/style.rb', line 49

def attributes
  {
    style: value,
  }
end

#eql?(other) ⇒ Boolean Also known as: ==

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

An object is equal when its values are the same.

Parameters:

Returns:

API:

  • private



59
60
61
# File 'lib/vedeu/presentation/style.rb', line 59

def eql?(other)
  self.class.equal?(other.class) && value == other.value
end

#to_astString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

API:

  • private



65
66
67
# File 'lib/vedeu/presentation/style.rb', line 65

def to_ast
  ':s'
end

#to_sString Also known as: escape_sequences, to_str

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return the terminal escape sequences after converting the style or styles.

Returns:

API:

  • private



73
74
75
76
77
# File 'lib/vedeu/presentation/style.rb', line 73

def to_s
  return '' unless present?(value)

  @sequences ||= Array(value).flat_map { |v| Vedeu.esc.string(v) }.join
end