Sha256: 4354f65a400d2a4fc91a80917b1ccde93d66427805daf4e131c8dcaca09aa9b3

Contents?: true

Size: 837 Bytes

Versions: 20

Compression:

Stored size: 837 Bytes

Contents

module Ddr::Models::Structures
  #
  # Wraps a Nokogiri (XML) 'structMap' node
  #
  class StructMap < SimpleDelegator

    def id
      self['ID']
    end

    def label
      self['LABEL']
    end

    def type
      self['TYPE']
    end

    def divs
      xpath('xmlns:div').map { |node| Div.new(node) }
    end

    def dereferenced_hash
      contents = []
      contents.concat(divs.map { |div| div.dereferenced_hash }) unless divs.empty?
      dh = { id: id, label: label, type: type }.compact
      dh[:contents] = contents unless contents.empty?
      dh
    end

    def self.build(args)
      node = Nokogiri::XML::Node.new('structMap', args[:document])
      node['ID'] = args[:id] if args[:id]
      node['LABEL'] = args[:label] if args[:label]
      node['TYPE'] = args[:type] if args[:type]
      node
    end

  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ddr-models-2.11.0 lib/ddr/models/structures/struct_map.rb
ddr-models-2.10.2 lib/ddr/models/structures/struct_map.rb
ddr-models-2.10.1 lib/ddr/models/structures/struct_map.rb
ddr-models-2.10.0 lib/ddr/models/structures/struct_map.rb
ddr-models-2.10.0.rc2 lib/ddr/models/structures/struct_map.rb
ddr-models-2.10.0.rc1 lib/ddr/models/structures/struct_map.rb
ddr-models-2.9.2 lib/ddr/models/structures/struct_map.rb
ddr-models-2.9.1 lib/ddr/models/structures/struct_map.rb
ddr-models-2.9.0 lib/ddr/models/structures/struct_map.rb
ddr-models-2.9.0.rc1 lib/ddr/models/structures/struct_map.rb
ddr-models-2.8.0 lib/ddr/models/structures/struct_map.rb
ddr-models-2.8.0.rc1 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.6 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.5 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.4 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.3 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.2 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.1 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.0 lib/ddr/models/structures/struct_map.rb
ddr-models-2.7.0.rc1 lib/ddr/models/structures/struct_map.rb