Sha256: 295f8a04905f377559c7331d1b18efdc0eb2d32263d6d36d08400b173627fd6a
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'remote_job_scraper/version' require 'sites/we_work_remotely' require 'sites/remote_ok' require 'sites/jobs_rails42' require 'support/offer_parser' require 'support/user_agent' require 'support/spreadsheet_creator' require 'nokogiri' require 'open-uri' require 'csv' require "thor" module RemoteJobScraper AVAILABLE_SERVICES = %w(we_work_remotely remote_ok 42jobs_rails) class CLI < Thor desc 'collect_jobs', 'Retrieves data from all sites' def collect_jobs [Sites::WeWorkRemotely, Sites::RemoteOk].each do |klass| klass.new.collect_jobs end end desc 'collect_jobs_from', 'Retrieves data from specified service' def collect_jobs_from(service_name) case service_name when 'we_work_remotely' then Sites::WeWorkRemotely.new.collect_jobs when 'remote_ok' then Sites::RemoteOk.new.collect_jobs when '42jobs_rails' then Sites::JobsRails42.new.collect_jobs else raise "#{service_name} is not correct. Use: #{AVAILABLE_SERVICES.join(', ')}." end end desc 'generate_summary', 'Collect all data and export to XLS file' def generate_summary Support::SpreadsheetCreator.generate end desc 'clean_up', 'Removes all stored data' def clean_up puts "This command will remote all stored data." puts "Press Ctrl-C to abort." sleep 2 FileUtils.rm_rf('data') puts "Removed data." end end def self.root File.dirname __dir__ end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
remote_job_scraper-0.1.0 | lib/remote_job_scraper.rb |