class Strings::Padder

A class responsible for parsing padding value

Used internally by {Strings::Pad}

@api private

Constants

ParseError

Attributes

padding[R]

Padding

@return [Array]

Public Class Methods

convert_to_ary(value) click to toggle source

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
new(padding) click to toggle source

Initialize a Padder

@api public

# File lib/strings/padder.rb, line 60
def initialize(padding)
  @padding = padding
end
parse(value = nil) click to toggle source

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() click to toggle source

Bottom padding

@return [Integer]

@api public

# File lib/strings/padder.rb, line 107
def bottom
  @padding[2].to_i
end
bottom=(value) click to toggle source

Set bottom padding

@param [Integer] value

@return [nil]

@api public

# File lib/strings/padder.rb, line 118
def bottom=(value)
  @padding[2] = value
end
empty?() click to toggle source

Check if padding is set

@return [Boolean]

@api public

# File lib/strings/padder.rb, line 147
def empty?
  padding.empty?
end
left() click to toggle source

Left padding

@return [Integer]

@api public

# File lib/strings/padder.rb, line 127
def left
  @padding[3].to_i
end
left=(value) click to toggle source

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() click to toggle source

Right padding

@return [Integer]

@api public

# File lib/strings/padder.rb, line 89
def right
  @padding[1].to_i
end
right=(value) click to toggle source

Set right padding

@param [Integer] value

@api public

# File lib/strings/padder.rb, line 98
def right=(value)
  @padding[1] = value
end
to_s() click to toggle source

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() click to toggle source

Top padding

@return [Integer]

@api public

# File lib/strings/padder.rb, line 69
def top
  @padding[0].to_i
end
top=(value) click to toggle source

Set top padding

@param [Integer] value

@return [nil]

@api public

# File lib/strings/padder.rb, line 80
def top=(value)
  @padding[0] = value
end