class CatClaw::WeWorkRemotelyCat

Attributes

footprint[RW]

Public Class Methods

new() click to toggle source
# File lib/cat_claw/cats/we_work_remotely_cat.rb, line 7
def initialize
  @base_url = "https://weworkremotely.com"
  @footprint = {
    source: "37Signal",
    jobs: [],
  }
end

Public Instance Methods

paw() click to toggle source
# File lib/cat_claw/cats/we_work_remotely_cat.rb, line 15
def paw
  whisper "/categories/1/jobs", "design"
  whisper "/categories/2/jobs", "developer"
  @footprint
end

Private Instance Methods

whisper(sub_url, jt) click to toggle source
# File lib/cat_claw/cats/we_work_remotely_cat.rb, line 22
def whisper sub_url, jt
  puts 'opening URI ... weworkremotely '
  url = @base_url + sub_url
  doc = Nokogiri::HTML(open(url))
  topics = doc.css("article ul li a")
  topics.each do |t|
    url = @base_url + t.attr("href")
    doc = Nokogiri::HTML(open(url))
    title = doc.css(".listing-header-container h1").text
    next if title.empty?
    content = doc.css(".listing-container").text
    @footprint[:jobs] << {
      url: url,
      title: title,
      content: content,
      scope: "World",
      job_type: jt,
    }
  end
end