Sha256: 79fb8823bf2bc156b3fb3c548552b53b8c3dccdd7bd7055dcabc17ad4f254269

Contents?: true

Size: 708 Bytes

Versions: 3

Compression:

Stored size: 708 Bytes

Contents

require 'solrizer/field_name_mapper'

module ActiveFedora::MetadataDatastreamHelper 
  
  attr_accessor :fields, :xml_loaded
  
  module ClassMethods
    
    #get the Class's field list
    def fields
      @@classFields
    end
    
  end
  
  def self.included(klass)
    klass.extend(ClassMethods)
    klass.send(:include, Solrizer::FieldNameMapper)
  end

  def ensure_xml_loaded
    return if xml_loaded 
    self.xml_loaded = true
    if new?
      ## Load up the template
      self.class.from_xml nil, self
    else
      self.class.from_xml content, self
    end
  end
  
  def serialize! # :nodoc:
    if dirty?
      return unless xml_loaded 
      self.content = self.to_xml 
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active-fedora-5.0.0 lib/active_fedora/metadata_datastream_helper.rb
active-fedora-5.0.0.rc5 lib/active_fedora/metadata_datastream_helper.rb
active-fedora-5.0.0.rc4 lib/active_fedora/metadata_datastream_helper.rb