Class: TTY::Table::Padder
- Inherits:
-
Object
- Object
- TTY::Table::Padder
- Includes:
- Equatable
- Defined in:
- lib/tty/table/padder.rb
Overview
A class responsible for processing table field padding
Instance Attribute Summary collapse
-
#padding ⇒ Object
readonly
Returns the value of attribute padding.
Attributes included from Equatable
Class Method Summary collapse
-
.parse(value = nil) ⇒ TTY::Padder
Parse padding options.
Instance Method Summary collapse
-
#bottom ⇒ Integer
Bottom padding.
-
#bottom=(value) ⇒ Object
Set bottom padding.
-
#empty? ⇒ Boolean
Check if padding is set.
-
#horizontal? ⇒ Boolean
Check if horizontal padding is applied.
-
#initialize(padding) ⇒ Padder
constructor
Initialize a Padder.
-
#left ⇒ Integer
Left padding.
-
#left=(value) ⇒ Object
Set left padding.
-
#right ⇒ Integer
Right padding.
-
#right=(value) ⇒ Object
Set right padding.
-
#top ⇒ Integer
Top padding.
-
#top=(value) ⇒ Object
Set top padding.
-
#vertical? ⇒ Boolean
Check if vertical padding is applied.
Methods included from Equatable
#attr_reader, included, #inherited
Constructor Details
#initialize(padding) ⇒ Padder
Initialize a Padder
15 16 17 |
# File 'lib/tty/table/padder.rb', line 15 def initialize(padding) @padding = padding end |
Instance Attribute Details
#padding ⇒ Object (readonly)
Returns the value of attribute padding.
10 11 12 |
# File 'lib/tty/table/padder.rb', line 10 def padding @padding end |
Class Method Details
.parse(value = nil) ⇒ TTY::Padder
Parse padding options
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/tty/table/padder.rb', line 26 def self.parse(value = nil) return value if value.kind_of?(self) padding = if value.class <= Numeric [value, value, value, value] elsif value.nil? [] elsif value.size == 2 [value[0], value[1], value[0], value[1]] elsif value.size == 4 value else raise ArgumentError, 'Wrong :padding parameter, must be an array' end new(padding) end |
Instance Method Details
#bottom ⇒ Integer
Bottom padding
84 85 86 |
# File 'lib/tty/table/padder.rb', line 84 def bottom @padding[2].to_i end |
#bottom=(value) ⇒ Object
Set bottom padding
93 94 95 |
# File 'lib/tty/table/padder.rb', line 93 def bottom=(value) @padding[2] = value end |
#empty? ⇒ Boolean
Check if padding is set
118 119 120 |
# File 'lib/tty/table/padder.rb', line 118 def empty? padding.empty? end |
#horizontal? ⇒ Boolean
Check if horizontal padding is applied
136 137 138 |
# File 'lib/tty/table/padder.rb', line 136 def horizontal? left.nonzero? or right.nonzero? end |
#left ⇒ Integer
Left padding
102 103 104 |
# File 'lib/tty/table/padder.rb', line 102 def left @padding[3].to_i end |
#left=(value) ⇒ Object
Set left padding
111 112 113 |
# File 'lib/tty/table/padder.rb', line 111 def left=(value) @padding[3] = value end |
#right ⇒ Integer
Right padding
66 67 68 |
# File 'lib/tty/table/padder.rb', line 66 def right @padding[1].to_i end |
#right=(value) ⇒ Object
Set right padding
75 76 77 |
# File 'lib/tty/table/padder.rb', line 75 def right=(value) @padding[1] = value end |
#top ⇒ Integer
Top padding
48 49 50 |
# File 'lib/tty/table/padder.rb', line 48 def top @padding[0].to_i end |
#top=(value) ⇒ Object
Set top padding
57 58 59 |
# File 'lib/tty/table/padder.rb', line 57 def top=(value) @padding[0] = value end |
#vertical? ⇒ Boolean
Check if vertical padding is applied
127 128 129 |
# File 'lib/tty/table/padder.rb', line 127 def vertical? top.nonzero? or bottom.nonzero? end |