class GlassdoorJobs::Job

Attributes

company[RW]
company_headquarters[RW]
company_rating[RW]
company_revenue[RW]
company_size[RW]
company_url[RW]
role[RW]
salary[RW]
url[RW]

Public Class Methods

all() click to toggle source
# File lib/glassdoor_scraper/job.rb, line 13
def self.all
  @@all
end
new(role, company, salary, url) click to toggle source
# File lib/glassdoor_scraper/job.rb, line 5
def initialize(role, company, salary, url)
  @role = role
  @company = company
  @salary = salary
  @url = url
  @@all << self
end

Public Instance Methods

get_job_details() click to toggle source
# File lib/glassdoor_scraper/job.rb, line 17
def get_job_details
  job_page = Nokogiri::HTML(open(self.url))
  self.company_url = 'https://www.glassdoor.com' + job_page.css("div.empLinks.tbl a.eiCell.cell.overviews").attribute("href").value
  company_page = Nokogiri::HTML(open(self.company_url))

  @company_rating = company_page.css("div.ratingNum").text
  other_details = {}
  company_page.css("div.info.flexbox.row.col-hh div.infoEntity").each do |text|
    other_details[text.css("label").text] = text.css("span.value").text
  end

  @company_size = other_details['Size']
  @company_revenue = other_details['Revenue']
  @company_headquarters = other_details['Headquarters']
end