diff options
Diffstat (limited to 'lib/roo/excelx/relationships.rb')
| -rw-r--r-- | lib/roo/excelx/relationships.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/roo/excelx/relationships.rb b/lib/roo/excelx/relationships.rb new file mode 100644 index 0000000..8a0ed97 --- /dev/null +++ b/lib/roo/excelx/relationships.rb @@ -0,0 +1,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 |
