aboutsummaryrefslogtreecommitdiffstats
path: root/lib/roo/excelx/shared.rb
blob: 3677fa25a181f3f53b2cd2f185bebdcbf3ff9bc4 (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
26
27
28
29
30
31
32
module Roo
  class Excelx
    # Public:  Shared class for allowing sheets to share data. This should
    #          reduce memory usage and reduce the number of objects being passed
    #          to various inititializers.
    class Shared
      attr_accessor :comments_files, :sheet_files, :rels_files
      def initialize(dir)
        @dir = dir
        @comments_files = []
        @sheet_files = []
        @rels_files = []
      end

      def styles
        @styles ||= Styles.new(File.join(@dir, 'roo_styles.xml'))
      end

      def shared_strings
        @shared_strings ||= SharedStrings.new(File.join(@dir, 'roo_sharedStrings.xml'))
      end

      def workbook
        @workbook ||= Workbook.new(File.join(@dir, 'roo_workbook.xml'))
      end

      def base_date
        workbook.base_date
      end
    end
  end
end