Class: ASpaceExport::Serializer

Inherits:
Object
  • Object
show all
Defined in:
backend/app/exporters/lib/exporter.rb

Direct Known Subclasses

DCSerializer, EACSerializer, EADSerializer, MARCSerializer, METSSerializer, MODSSerializer

Class Method Summary (collapse)

Class Method Details

+ (Object) inherited(subclass)



104
105
106
# File 'backend/app/exporters/lib/exporter.rb', line 104

def self.inherited(subclass)
  ASpaceExport.register_serializer(subclass)
end

+ (Object) serializer_for(name)



109
110
111
# File 'backend/app/exporters/lib/exporter.rb', line 109

def self.serializer_for(name)
  @serializer_for = name
end

+ (Boolean) serializer_for?(name)

Returns:

  • (Boolean)


114
115
116
# File 'backend/app/exporters/lib/exporter.rb', line 114

def self.serializer_for?(name)
  @serializer_for == name
end

+ (Object) with_namespace(prefix, xml)

use a serializer to embed wrapped data for example, MODS data wrapped in METS



120
121
122
123
124
125
# File 'backend/app/exporters/lib/exporter.rb', line 120

def self.with_namespace(prefix, xml)
  ns = xml.doc.root.namespace_definitions.find{|ns| ns.prefix == prefix}
  xml.instance_variable_set(:@sticky_ns, ns)
  yield 
  xml.instance_variable_set(:@sticky_ns, nil)
end