Sha256: 7664fe31be35b9cd816866b80772dafd10cf099232450aa633aa2ab9f97e4c0b

Contents?: true

Size: 476 Bytes

Versions: 17

Compression:

Stored size: 476 Bytes

Contents

# frozen_string_literal: true

require 'stanford-mods'

##
# A convenience object for parsing and rendering MODS
module ModsDisplay
  class Record
    attr_reader :xml

    def initialize(xml)
      @xml = xml
    end

    def mods_record
      return if xml.nil?

      @mods_record ||= Stanford::Mods::Record.new.tap { |mods| mods.from_str(xml) }
    end

    def mods_display_html
      return unless mods_record

      ModsDisplay::HTML.new(mods_record)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
mods_display-1.6.3 app/models/mods_display/record.rb
mods_display-1.6.2 app/models/mods_display/record.rb
mods_display-1.6.1 app/models/mods_display/record.rb
mods_display-1.6.0 app/models/mods_display/record.rb
mods_display-1.5.0 app/models/mods_display/record.rb
mods_display-1.4.0 app/models/mods_display/record.rb
mods_display-1.3.5 app/models/mods_display/record.rb
mods_display-1.3.4 app/models/mods_display/record.rb
mods_display-1.3.3 app/models/mods_display/record.rb
mods_display-1.3.2 app/models/mods_display/record.rb
mods_display-1.3.1 app/models/mods_display/record.rb
mods_display-1.3.0 app/models/mods_display/record.rb
mods_display-1.2.1 app/models/mods_display/record.rb
mods_display-1.2.0 app/models/mods_display/record.rb
mods_display-1.1.0 app/models/mods_display/record.rb
mods_display-1.0.0 app/models/mods_display/record.rb
mods_display-1.0.0.alpha5 app/models/mods_display/record.rb