Module: Chicago::ETL::SequelExtensions::DependantTables

Defined in:
lib/chicago/etl/sequel/dependant_tables.rb

Instance Method Summary collapse

Instance Method Details

#dependant_tables(recurse = true) ⇒ Object

Returns an Array of table names used in this dataset.

Handles joins and if the recurse flag is true, unions and nested datasets.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/chicago/etl/sequel/dependant_tables.rb', line 11

def dependant_tables(recurse=true)
  tables = extract_dependant_tables_in_clause(opts[:from].first, recurse)

  if opts[:compounds]
    tables += opts[:compounds].map {|(_, dataset, _)|
      dataset.dependant_tables
    }
  end

  if opts[:join]
    tables += opts[:join].map {|join| 
      extract_dependant_tables_in_clause(join.table, recurse)
    }
  end

  tables.flatten.uniq
end