aboutsummaryrefslogtreecommitdiffstats
path: root/lib/roo/excelx/relationships.rb
blob: 8a0ed97f9e1f4971ba729f03e61c5c7dc221cd5d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require 'roo/excelx/extractor'

module Roo
  class Excelx
    class Relationships < Excelx::Extractor
      def [](index)
        to_a[index]
      end

      def to_a
        @relationships ||= extract_relationships
      end

      private

      def extract_relationships
        return [] unless doc_exists?

        Hash[doc.xpath('/Relationships/Relationship').map do |rel|
          [rel.attribute('Id').text, rel]
        end]
      end
    end
  end
end