class Metacrunch::Mab2::Builder

Attributes

document[R]

Public Class Methods

build(&block) click to toggle source
# File lib/metacrunch/mab2/builder.rb, line 9
def self.build(&block)
  builder = new
  document = builder.instance_eval(&block) if block_given?
  document || Document.new
end
new() click to toggle source
# File lib/metacrunch/mab2/builder.rb, line 15
def initialize
  @document = Document.new
end

Public Instance Methods

controlfield(tag, values) click to toggle source
# File lib/metacrunch/mab2/builder.rb, line 19
def controlfield(tag, values)
  controlfield = Document::Controlfield.new(tag, values)
  @document.add_controlfield(controlfield)
  @document
end
datafield(tag, ind1:nil, ind2:nil, &block) click to toggle source
# File lib/metacrunch/mab2/builder.rb, line 25
def datafield(tag, ind1:nil, ind2:nil, &block)
  datafield = Document::Datafield.new(tag, ind1: ind1, ind2: ind2)
  @document.add_datafield(datafield)

  if block_given?
    subfield_builder = SubfieldBuilder.new(datafield)
    subfield_builder.instance_eval(&block)
  end

  @document
end