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 38 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 60 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 26 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 107 def bottom @padding[2].to_i end
Set bottom padding
@param [Integer] value
@return [nil]
@api public
# File lib/strings/padder.rb, line 118 def bottom=(value) @padding[2] = value end
Check if padding is set
@return [Boolean]
@api public
# File lib/strings/padder.rb, line 147 def empty? padding.empty? end
Left padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 127 def left @padding[3].to_i end
Set left padding
@param [Integer] value
@return [nil]
@api public
# File lib/strings/padder.rb, line 138 def left=(value) @padding[3] = value end
Right padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 89 def right @padding[1].to_i end
Set right padding
@param [Integer] val
@api public
# File lib/strings/padder.rb, line 98 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 156 def to_s inspect end
Top padding
@return [Integer]
@api public
# File lib/strings/padder.rb, line 69 def top @padding[0].to_i end
Set top padding
@param [Integer] val
@return [nil]
@api public
# File lib/strings/padder.rb, line 80 def top=(value) @padding[0] = value end