class JobsCrawler::Robots::Base

Attributes

url[R]

Public Class Methods

new(url) click to toggle source
# File lib/jobs_crawler/robots/base.rb, line 5
def initialize(url)
  @url = url
  @engine = Mechanize.new
end

Public Instance Methods

crawl() click to toggle source
# File lib/jobs_crawler/robots/base.rb, line 10
def crawl
  set_html
  to_json
end
extract_content(css_selector) click to toggle source
# File lib/jobs_crawler/robots/base.rb, line 15
def extract_content(css_selector)
  @html.css(css_selector).text
end
set_html() click to toggle source
# File lib/jobs_crawler/robots/base.rb, line 23
def set_html
  @html = Nokogiri::HTML(body)
end
to_json() click to toggle source
# File lib/jobs_crawler/robots/base.rb, line 19
def to_json
  raise NotImplemetedError, 'You need to provide a concrete implemetatioen'
end

Private Instance Methods

body() click to toggle source
# File lib/jobs_crawler/robots/base.rb, line 29
def body
  @engine.get(url).body
end