Class: Chicago::ETL::StageBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/chicago/etl/stage_builder.rb

Direct Known Subclasses

SchemaTableStageBuilder

Defined Under Namespace

Classes: SinkBuilder, TransformationBuilder

Instance Method Summary collapse

Constructor Details

#initialize(db, schema) ⇒ StageBuilder

Returns a new instance of StageBuilder.



4
5
6
7
# File 'lib/chicago/etl/stage_builder.rb', line 4

def initialize(db, schema)
  @db = db
  @schema = schema
end

Instance Method Details

#build(name, options, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/chicago/etl/stage_builder.rb', line 9

def build(name, options, &block)
  @pre_execution_strategies = []
  @executable = true

  instance_eval &block
  set_default_stage_values

  RowTransformationStage.
    new(:source => @dataset, 
        :sinks => @sinks, 
        :transformations => @transformations, 
        :filter_strategy => @filter_strategy,
        :pre_execution_strategies => @pre_execution_strategies,
        :executable => @executable)
end