Class: Ddr::Models::Structure

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/ddr/models/structure.rb

Overview

Wraps a Nokogiri (XML) Document

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(xml_doc = nil) ⇒ Structure

Returns a new instance of Structure.



8
9
10
# File 'lib/ddr/models/structure.rb', line 8

def initialize(xml_doc=nil)
  super
end

Class Method Details

.templateObject



52
53
54
55
56
57
58
59
60
# File 'lib/ddr/models/structure.rb', line 52

def self.template
  Nokogiri::XML(
      '<mets xmlns="http://www.loc.gov/METS/" xmlns:xlink="http://www.w3.org/1999/xlink">
        <structMap TYPE="default" />
      </mets>'
      ) do |config|
          config.noblanks
        end
end

Instance Method Details

#as_xml_documentObject



32
33
34
# File 'lib/ddr/models/structure.rb', line 32

def as_xml_document
  __getobj__
end

#default_struct_mapObject



16
17
18
# File 'lib/ddr/models/structure.rb', line 16

def default_struct_map
  struct_maps['default'] || struct_maps[struct_maps.keys.first]
end

#default_struct_map_idsObject



20
21
22
# File 'lib/ddr/models/structure.rb', line 20

def default_struct_map_ids
  default_struct_map.pids
end

#fptr_nodes(type = 'default') ⇒ Object



28
29
30
# File 'lib/ddr/models/structure.rb', line 28

def fptr_nodes(type='default')
  structMap_node(type).xpath('//xmlns:fptr')
end

#struct_mapsObject



12
13
14
# File 'lib/ddr/models/structure.rb', line 12

def struct_maps
  @struct_maps ||= build_struct_maps(structMap_nodes)
end

#structMap_node(type = 'default') ⇒ Object



24
25
26
# File 'lib/ddr/models/structure.rb', line 24

def structMap_node(type='default')
  xpath("//xmlns:structMap[@TYPE='#{type}']").first
end