class Prism::Pack::Format - Documentation for Ruby 3.3

# class Prism::Pack::Format

The result of parsing a pack template.

### Attributes

directives[R]

A list of the directives in the template.

encoding[R]

The encoding of the template.

### Public Class Methods

new(directives, encoding) click to toggle source

Create a new `Format` with the given directives and encoding.

    # File lib/prism/pack.rb, line 203
    def initialize(directives, encoding)
      @directives = directives
      @encoding = encoding
    end

### Public Instance Methods

describe() click to toggle source

Provide a human-readable description of the format.

    # File lib/prism/pack.rb, line 209
    def describe
      source_width = directives.map { |d| d.source.inspect.length }.max
      directive_lines = directives.map do |directive|
        if directive.type == SPACE
          source = directive.source.inspect
        else
          source = directive.source
        end
        "  #{source.ljust(source_width)}  #{directive.describe}"
      end

      (["Directives:"] + directive_lines + ["Encoding:", "  #{encoding}"]).join("\n")
    end