Module: MARCExtensions::FieldMapExtensions

Included in:
MARC::FieldMap
Defined in:
lib/marc_extensions/field_map.rb

Constant Summary collapse

VALID_TAGS =
('000'..'999').freeze

Instance Method Summary collapse

Instance Method Details

#each_sorted_by_tag(tags) {|field| ... } ⇒ Object #each_sorted_by_tag(tags) ⇒ Enumerator::Lazy<MARC::ControlField, MARC::DataField> #each_sorted_by_tag {|field| ... } ⇒ Object #each_sorted_by_tagEnumerator::Lazy<MARC::ControlField, MARC::DataField>

Gets the specified fields in order by tag.

Overloads:

  • #each_sorted_by_tag(tags) {|field| ... } ⇒ Object

    Yields each specified field.

    Parameters:

    • tags (String, Enumerable<String>)

      A tag, range of tags, array of tags, or similar

    Yield Parameters:

  • #each_sorted_by_tag(tags) ⇒ Enumerator::Lazy<MARC::ControlField, MARC::DataField>

    An enumerator of the specified variable fields, sorted by tag.

    Parameters:

    • tags (String, Enumerable<String>)

      A tag, range of tags, array of tags, or similar

    Returns:

  • #each_sorted_by_tag {|field| ... } ⇒ Object

    Yields all fields, sorted by tag.

    Yield Parameters:

  • #each_sorted_by_tagEnumerator::Lazy<MARC::ControlField, MARC::DataField>

    An enumerator of all fields, sorted by tag.

    Returns:



23
24
25
26
27
# File 'lib/marc_extensions/field_map.rb', line 23

def each_sorted_by_tag(tags = nil, &block)
  reindex unless @clean

  indices_for(tags).map { |i| self[i] }.each(&block)
end