class BeetleETL::DSL
Attributes
column_names[R]
query_strings[R]
relations[R]
Public Class Methods
new(config, table_name)
click to toggle source
# File lib/beetle_etl/dsl/dsl.rb, line 6 def initialize(config, table_name) @config = config @table_name = table_name @column_names = [] @relations = {} @query_strings = [] end
Public Instance Methods
columns(*column_names)
click to toggle source
# File lib/beetle_etl/dsl/dsl.rb, line 14 def columns(*column_names) @column_names = column_names end
combined_key(*args)
click to toggle source
# File lib/beetle_etl/dsl/dsl.rb, line 37 def combined_key(*args) %Q('[' || #{args.join(%q[ || ',' || ])} || ']') end
query(query)
click to toggle source
# File lib/beetle_etl/dsl/dsl.rb, line 22 def query(query) @query_strings << query end
references(foreign_table, on: foreign_key)
click to toggle source
# File lib/beetle_etl/dsl/dsl.rb, line 18 def references(foreign_table, on: foreign_key) @relations[on] = foreign_table end
stage_table(table_name = nil)
click to toggle source
query helper methods
# File lib/beetle_etl/dsl/dsl.rb, line 28 def stage_table(table_name = nil) stage_table_name = BeetleETL::Naming.stage_table_name( @config.external_source, table_name || @table_name ) %Q("#{@config.target_schema}"."#{stage_table_name}") end