class Extract::Parser
Attributes
sheet[RW]
str[RW]
Public Instance Methods
deps()
click to toggle source
# File lib/extract/parser.rb, line 59 def deps res = result res.root_sheet = sheet #raise res.meat.inspect unless res.meat.respond_to?(:deps) raise "can't parse #{str}" unless res res.meat.deps.flatten.uniq.map do |c| if c =~ /"/ nil else c.gsub("$","") end end.select { |x| x }.sort.uniq end
excel_value()
click to toggle source
# File lib/extract/parser.rb, line 52 def excel_value res = result raise "can't parse #{str}" unless res res.root_sheet = sheet res.meat.excel_value end
result()
click to toggle source
# File lib/extract/parser.rb, line 38 def result p = FormulaParser.new res = p.parse(str.gsub(" ","")) if !res strs = [] strs << p.failure_reason strs << p.failure_line strs << p.failure_column strs << "no result for #{str}" raise strs.join("\n") end res end