Class: Transform

Inherits:
Object
  • Object
show all
Defined in:
lib/setl_tool/transform.rb

Overview

Transforms from an in memory table to a known SQL dialect statement

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(src_type = "csv", target_db = "pg") ⇒ Transform

Currently only CSV to PostgreSQL is supported



29
30
31
32
33
34
35
36
37
# File 'lib/setl_tool/transform.rb', line 29

def initialize(src_type = "csv",
              target_db = "pg")
  @src_type = src_type
  @target_db = target_db
  if @target_table == nil
    @target_table = "#{@src_type}_import"
  end
  @values = Array.new
end

Instance Attribute Details

#stmtObject (readonly)

Valid SQL dialect statement



26
27
28
# File 'lib/setl_tool/transform.rb', line 26

def stmt
  @stmt
end

#tableObject

In-Memory source data table



22
23
24
# File 'lib/setl_tool/transform.rb', line 22

def table
  @table
end

#target_tableObject

Target Table in RDMS engine



20
21
22
# File 'lib/setl_tool/transform.rb', line 20

def target_table
  @target_table
end

#valuesObject (readonly)

don’t use, reserved



24
25
26
# File 'lib/setl_tool/transform.rb', line 24

def values
  @values
end

Instance Method Details

#dataObject

Execute data transformation



40
41
42
43
44
45
46
47
# File 'lib/setl_tool/transform.rb', line 40

def data
  case @src_type
    when "csv" then process_csv
  end
  case @target_db
  when "pg" then to_pg
  end
end