Class: BeetleETL::Transformation

Inherits:
Object
  • Object
show all
Defined in:
lib/beetle_etl/dsl/transformation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, table_name, setup, helpers = nil) ⇒ Transformation

Returns a new instance of Transformation.



8
9
10
11
12
13
14
# File 'lib/beetle_etl/dsl/transformation.rb', line 8

def initialize(config, table_name, setup, helpers = nil)
  @table_name = table_name
  @parsed = DSL.new(config, table_name).tap do |dsl|
    dsl.instance_exec(&helpers) if helpers
    dsl.instance_exec(&setup)
  end
end

Instance Attribute Details

#table_nameObject (readonly)

Returns the value of attribute table_name.



6
7
8
# File 'lib/beetle_etl/dsl/transformation.rb', line 6

def table_name
  @table_name
end

Instance Method Details

#column_namesObject



16
17
18
# File 'lib/beetle_etl/dsl/transformation.rb', line 16

def column_names
  @parsed.column_names.map(&:to_sym)
end

#dependenciesObject



24
25
26
# File 'lib/beetle_etl/dsl/transformation.rb', line 24

def dependencies
  relations.values.to_set
end

#queryObject



28
29
30
# File 'lib/beetle_etl/dsl/transformation.rb', line 28

def query
  @parsed.query_strings.join(';')
end

#relationsObject



20
21
22
# File 'lib/beetle_etl/dsl/transformation.rb', line 20

def relations
  @parsed.relations
end