Sha256: 97e33cee73470c3f25e70cfe2a0cbdb926519c141513c70b4869e36e09c03207

Contents?: true

Size: 482 Bytes

Versions: 14

Compression:

Stored size: 482 Bytes

Contents

module ModsDisplay
  module ModelExtension
    def self.included(base)
      base.extend ClassMethods
      base.class_eval do
        def mods_display_xml
          xml = self.class.mods_xml_source.call(self)
          return if xml.nil?
          mods = Stanford::Mods::Record.new
          mods.from_str(xml, false)
          mods
        end
      end
    end

    module ClassMethods
      def mods_xml_source(&xml)
        @mods_xml_source ||= xml
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
mods_display-0.10.1 lib/mods_display/model_extension.rb
mods_display-0.10.0 lib/mods_display/model_extension.rb
mods_display-0.9.1 lib/mods_display/model_extension.rb
mods_display-0.9.0 lib/mods_display/model_extension.rb
mods_display-0.8.0 lib/mods_display/model_extension.rb
mods_display-0.7.1 lib/mods_display/model_extension.rb
mods_display-0.7.0 lib/mods_display/model_extension.rb
mods_display-0.6.0 lib/mods_display/model_extension.rb
mods_display-0.5.1 lib/mods_display/model_extension.rb
mods_display-0.5.0 lib/mods_display/model_extension.rb
mods_display-0.4.1 lib/mods_display/model_extension.rb
mods_display-0.4.0 lib/mods_display/model_extension.rb
mods_display-0.3.5 lib/mods_display/model_extension.rb
mods_display-0.3.4 lib/mods_display/model_extension.rb