Sha256: 4a79ee3f08c9bb63ba09f3e285eac891d1979056b463ec6511455eae4b955612

Contents?: true

Size: 673 Bytes

Versions: 9

Compression:

Stored size: 673 Bytes

Contents

module RubyFromExcel
  class FormulaCell < Cell
    attr_accessor :ast, :original_formula
  
    def parse_xml(xml)
      super
      self.original_formula = xml.at_css("f").content
      self.ast = Formula.parse(original_formula)
    end
  
    def work_out_dependencies
      self.dependencies ||= ast.visit(DependencyBuilder.new(self))
    end
    
    def ruby_value
      "@#{reference.to_ruby} ||= #{ast.visit(FormulaBuilder.new(self))}"
    end
    
    def debug
      RubyFromExcel.debug(:cells,"#{worksheet.name}.#{reference} -> #{original_formula.inspect} -> #{ast.inspect} -> #{xml_value} (#{xml_type}) -> #{value_for_including.inspect}")
    end
    
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rubyfromexcel-0.0.23 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.22 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.21 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.20 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.19 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.18 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.17 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.16 lib/cells/formula/formula_cell.rb
rubyfromexcel-0.0.13 lib/cells/formula/formula_cell.rb