aboutsummaryrefslogtreecommitdiffstats
path: root/lib/roo/excelx/extractor.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/roo/excelx/extractor.rb')
-rwxr-xr-x[-rw-r--r--]lib/roo/excelx/extractor.rb24
1 files changed, 21 insertions, 3 deletions
diff --git a/lib/roo/excelx/extractor.rb b/lib/roo/excelx/extractor.rb
index 1cdd13b..b87a84e 100644..100755
--- a/lib/roo/excelx/extractor.rb
+++ b/lib/roo/excelx/extractor.rb
@@ -1,16 +1,34 @@
+# frozen_string_literal: true
+
+require "roo/helpers/weak_instance_cache"
+
module Roo
class Excelx
class Extractor
- def initialize(path)
+ include Roo::Helpers::WeakInstanceCache
+
+ COMMON_STRINGS = {
+ t: "t",
+ r: "r",
+ s: "s",
+ ref: "ref",
+ html_tag_open: "<html>",
+ html_tag_closed: "</html>"
+ }
+
+ def initialize(path, options = {})
@path = path
+ @options = options
end
private
def doc
- raise FileNotFound, "#{@path} file not found" unless doc_exists?
+ instance_cache(:@doc) do
+ raise FileNotFound, "#{@path} file not found" unless doc_exists?
- ::Roo::Utils.load_xml(@path).remove_namespaces!
+ ::Roo::Utils.load_xml(@path).remove_namespaces!
+ end
end
def doc_exists?