lib/jetel/modules/sfpd/sfpd.rb in jetel-0.0.6 vs lib/jetel/modules/sfpd/sfpd.rb in jetel-0.0.7

- old
+ new

@@ -6,29 +6,51 @@ require_relative '../../modules/module' module Jetel module Modules class Sfpd < Module - SOURCES = [ - { - name: 'sfpd', - url: 'https://data.sfgov.org/api/views/tmnf-yvry/rows.csv' - } - ] + class << self + def sources + [ + { + name: 'sfpd', + filename_downloaded: 'SFPD_Incidents_-_from_1_January_2003.csv', + filename_extracted: 'SFPD_Incidents_-_from_1_January_2003.csv', + filename_transformed: 'SFPD_Incidents_-_from_1_January_2003.csv', + url: 'https://data.sfgov.org/api/views/tmnf-yvry/rows.csv' + } + ] + end + end def download(global_options, options, args) - SOURCES.pmap do |source| + self.class.sources.pmap do |source| download_source(source, global_options.merge(options)) end end def extract(global_options, options, args) + self.class.sources.pmap do |source| + downloaded_file = downloaded_file(source, global_options.merge(options)) + dest_dir = extract_dir(source, global_options.merge(options)) + + puts "Extracting #{downloaded_file}" + + FileUtils.mkdir_p(dest_dir) + FileUtils.cp(downloaded_file, dest_dir) + end end def transform(global_options, options, args) - end + self.class.sources.pmap do |source| + extracted_file = extracted_file(source, global_options.merge(options)) + dest_dir = transform_dir(source, global_options.merge(options)) - def load(global_options, options, args) + puts "Transforming #{extracted_file}" + + FileUtils.mkdir_p(dest_dir) + FileUtils.cp(extracted_file, dest_dir) + end end end end end