File Manager

Path: /opt/chef/embedded/lib/ruby/gems/2.7.0/gems/tty-table-0.11.0/lib/tty/table/operation/

Viewing File: padding.rb

# frozen_string_literal: true

require 'strings'

module TTY
  class Table
    module Operation
      # A class responsible for padding field with whitespace
      #
      # Used internally by {Table::Renderer}
      class Padding
        # Initialize a Padding operation
        #
        # @param [Strings::Padder] padding
        #
        # @api public
        def initialize(padding)
          @padding = padding
        end

        # Apply padding to a field
        #
        # @param [TTY::Table::Field] field
        #   the table field
        #
        # @return [TTY::Table::Field]
        #
        # @api public
        def call(field, *)
          Strings.pad(field.content, padding)
        end

        protected

        attr_reader :padding
      end # Padding
    end # Operation
  end # Table
end # TTY