Class: BerkeleyLibrary::Marc::FieldInfo::VarFields::VarFieldParser

Inherits:
Parslet::Parser
  • Object
show all
Defined in:
lib/berkeley_library/marc/field_info/var_fields/var_field_parser.rb

Overview

Parses MARC documentation in the format used by the Library of Congress field list.

Instance Method Summary collapse

Instance Method Details

#parse(io, options = nil) ⇒ Hash

Parses the specified field documentation. Usage:

parser = VarFieldParser.new
parse_tree = parser.parse('docs.txt')
xform = VarFieldTransform.new
var_field_list = xform.apply(parse_tree)

Parameters:

  • io (String, Source)

    input for the parse process

  • options (Hash) (defaults to: nil)

    a customizable set of options

Options Hash (options):

  • :reporter (Parslet::ErrorReporter)

    error reporter to use, defaults to Parslet::ErrorReporter::Tree

  • :prefix (Boolean)

    Should a prefix match be accepted? (default: false)

Returns:



144
145
146
147
148
149
150
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_parser.rb', line 144

def parse(io, options = nil)
  opts = { reporter: Parslet::ErrorReporter::Deepest.new }
  opts.merge!(options) if options

  # noinspection RubyMismatchedReturnType
  super(io, opts)
end