Sha256: a6ddcf820366c9411e437bd48a5a6063bf52c7b9ca7ffdf01145b501f8a461cc

Contents?: true

Size: 623 Bytes

Versions: 1

Compression:

Stored size: 623 Bytes

Contents

module Marcxella
  class DataField
    attr_reader :tag, :ind1, :ind2, :subfields
    def initialize(node)
      @tag = node['tag']
      @ind1 = node['ind1']
      @ind2 = node['ind2']
      @subfields = node.css('subfield').map{|s| SubField.new(s)}
    end

    def value
      @subfields.map{|s| s.value}.join('')
    end
    
    def to_s
      "%s  %s%s%s" % [@tag, ind_to_s(@ind1), ind_to_s(@ind2), @subfields.join('')]
    end

    def subfield(code)
      @subfields.select{|s| s.code == code }
    end
    
    def ind_to_s(i)
      if i == ' '
        return '#'
      end
      
      return i
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
marcxella-1.0.0 lib/marcxella/datafield.rb