Method: Extract::Sheet#deps

Defined in:
lib/extract/sheet.rb

#deps(c) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/extract/sheet.rb', line 32

def deps(c)
  res = cells[c]
  res = if res.to_s =~ /^=/
    d = Extract::Parser.new(:str => res, :sheet => self).deps
    d.map do |dep|
      d2 = deps(dep)
      if d2.empty?
        dep
      else
        d2
      end
    end.flatten
  else
    []
  end
  res.flatten.uniq.map do |c|
    if c =~ /"/
      nil
    else
      c.gsub("$","")
    end
  end.select { |x| x }.sort.uniq
end