class Strings::Padder
A class responsible for parsing padding value
Used internally by {Strings::Pad}
@api private
Constants
- ParseError
Attributes
Padding
@return [Array]
Public Class Methods
Convert value to 4 element array
@return [Array]
the 4 element padding array
@api private
# File lib/strings/padder.rb, line 37 def self.convert_to_ary(value) 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 ParseError, "Wrong :padding parameter, must be an array" end end
Initialize a Padder
@api public
# File lib/strings/padder.rb, line 59 def initialize(padding) @padding = padding end
Parse padding options
Turn possible values into 4 element array
@example
padder = TTY::Table::Padder.parse(5) padder.padding # => [5, 5, 5, 5]
@param [Object] value
@return [TTY::Padder]
the new padder with padding values
@api public
# File lib/strings/padder.rb, line 25 def self.parse(value = nil) return value if value.is_a?(self) new(convert_to_ary(value)) end
Public Instance Methods
Bottom padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 106 def bottom @padding[2].to_i end
Set bottom padding
@param [Integer] value
@return [nil]
@api public
# File lib/strings/padder.rb, line 117 def bottom=(value) @padding[2] = value end
Check if padding is set
@return [Boolean]
@api public
# File lib/strings/padder.rb, line 146 def empty? padding.empty? end
Left padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 126 def left @padding[3].to_i end
Set left padding
@param [Integer] value
@return [nil]
@api public
# File lib/strings/padder.rb, line 137 def left=(value) @padding[3] = value end
Right padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 88 def right @padding[1].to_i end
Set right padding
@param [Integer] value
@api public
# File lib/strings/padder.rb, line 97 def right=(value) @padding[1] = value end
String represenation of this padder with padding values
@return [String]
@api public
# File lib/strings/padder.rb, line 155 def to_s inspect end
Top padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 68 def top @padding[0].to_i end
Set top padding
@param [Integer] value
@return [nil]
@api public
# File lib/strings/padder.rb, line 79 def top=(value) @padding[0] = value end