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)
Create a new Format
with the given directives and encoding.
# File lib/prism/pack.rb, line 206 def initialize(directives, encoding) @directives = directives @encoding = encoding end
Public Instance Methods
describe
()
Provide a human-readable description of the format.
# File lib/prism/pack.rb, line 212 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 # @type var source_width: Integer " #{source.ljust(source_width)} #{directive.describe}" end (["Directives:"] + directive_lines + ["Encoding:", " #{encoding}"]).join("\n") end