class RemoteJobScraper::CLI
Constants
- AVAILABLE_SITES
Public Instance Methods
collect_elixir_companies()
click to toggle source
# File lib/remote_job_scraper/cli.rb, line 20 def collect_elixir_companies Sites::ElixirCompanies.new.collect_companies end
collect_jobs(limit = nil, delay = nil)
click to toggle source
# File lib/remote_job_scraper/cli.rb, line 28 def collect_jobs(limit = nil, delay = nil) limit = limit.to_i limit = limit.zero? ? nil : limit begin unless delay.nil? arr = delay.split('..').map{ |d| Float(d) } range = arr[0]..arr[1] RemoteJobScraper.configuration.delay_range = range end rescue raise "Passed: DELAY=#{range} DELAY need to be in format: 2.0..5.0 " end [ Sites::WeWorkRemotely, Sites::RemoteOk, Sites::JobsRails42 ].each do |klass| klass.new.collect_jobs(limit: limit) end end
collect_jobs_from(site, limit=nil)
click to toggle source
# File lib/remote_job_scraper/cli.rb, line 55 def collect_jobs_from(site, limit=nil) limit = limit.to_i limit = limit.zero? ? nil : limit case site when 'we_work_remotely' then Sites::WeWorkRemotely.new.collect_jobs(limit: limit) when 'remote_ok' then Sites::RemoteOk.new.collect_jobs(limit: limit) when '42jobs_rails' then Sites::JobsRails42.new.collect_jobs(limit: limit) else raise "#{site} is not correct. Use: #{AVAILABLE_SITES.join(', ')}." end end
collect_remote_companies()
click to toggle source
# File lib/remote_job_scraper/cli.rb, line 12 def collect_remote_companies Sites::GithubRemoteJobs.new.collect_companies end
generate_summary()
click to toggle source
# File lib/remote_job_scraper/cli.rb, line 75 def generate_summary Support::SpreadsheetCreator.generate end
remove(dirname = 'data')
click to toggle source
# File lib/remote_job_scraper/cli.rb, line 80 def remove(dirname = 'data') puts "[Warning!]" puts "This command will remove #{Dir.pwd}/#{dirname} permanently" puts "Press Ctrl-C to abort." sleep 3 FileUtils.rm_rf(dirname) puts "Removed data in #{Dir.pwd}/#{dirname}." rescue Interrupt => e exit end