Class: BeetleETL::Transformation
- Inherits:
-
Object
- Object
- BeetleETL::Transformation
- Defined in:
- lib/beetle_etl/dsl/transformation.rb
Instance Attribute Summary collapse
-
#table_name ⇒ Object
readonly
Returns the value of attribute table_name.
Instance Method Summary collapse
- #column_names ⇒ Object
- #dependencies ⇒ Object
-
#initialize(config, table_name, setup, helpers = nil) ⇒ Transformation
constructor
A new instance of Transformation.
- #query ⇒ Object
- #relations ⇒ Object
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_name ⇒ Object (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_names ⇒ Object
16 17 18 |
# File 'lib/beetle_etl/dsl/transformation.rb', line 16 def column_names @parsed.column_names.map(&:to_sym) end |
#dependencies ⇒ Object
24 25 26 |
# File 'lib/beetle_etl/dsl/transformation.rb', line 24 def dependencies relations.values.to_set end |
#query ⇒ Object
28 29 30 |
# File 'lib/beetle_etl/dsl/transformation.rb', line 28 def query @parsed.query_strings.join(';') end |
#relations ⇒ Object
20 21 22 |
# File 'lib/beetle_etl/dsl/transformation.rb', line 20 def relations @parsed.relations end |