Sha256: c0956d0051064afd58cf428cc3b28e6faa45b66ddcbe4a63c732aa1a3245ffc8

Contents?: true

Size: 1.6 KB

Versions: 8

Compression:

Stored size: 1.6 KB

Contents

# encoding: utf-8

require 'pmap'

require_relative '../../config/config'
require_relative '../../modules/module'

module Jetel
  module Modules
    class Sfpd < Module
      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)
        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)
        self.class.sources.pmap do |source|
          extracted_file = extracted_file(source, global_options.merge(options))
          dest_dir = transform_dir(source, global_options.merge(options))

          puts "Transforming #{extracted_file}"

          FileUtils.mkdir_p(dest_dir)
          FileUtils.cp(extracted_file, dest_dir)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jetel-0.0.15 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.14 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.12 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.11 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.10 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.9 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.8 lib/jetel/modules/sfpd/sfpd.rb
jetel-0.0.7 lib/jetel/modules/sfpd/sfpd.rb