Module: ETL::FreeZipcodeDataJob

Defined in:
lib/etl/free_zipcode_data_job.rb

Class Method Summary collapse

Class Method Details

.setup(country_file, database, logger, options) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/etl/free_zipcode_data_job.rb', line 9

def setup(country_file, database, logger, options)
  Kiba.parse do
    pre_process do
      logger.info("Processing '#{country_file}' data, please be patient...")
    end

    source CsvSource, filename: country_file, quote_char: '"', delimeter: ','

    destination FreeZipcodeData::CountryTable,
      database: database,
      tablename: options[:country_tablename]

    destination FreeZipcodeData::StateTable,
      database: database,
      tablename: options[:state_tablename]

    destination FreeZipcodeData::CountyTable,
      database: database,
      tablename: options[:county_tablename]

    destination FreeZipcodeData::ZipcodeTable,
      database: database,
      tablename: options[:zipcode_tablename]

    post_process do
      logger.verbose('Finished generating table data...')
    end
  end
end