module CountingStars

Constants

DECIMAL
DOLLARS
INTEGER
VERSION

Public Class Methods

booking(query) click to toggle source
# File lib/counting_stars.rb, line 29
def self.booking(query)
  response = count(query, 'booking.com')
  { rating: response[0][DECIMAL], reviews: response[1][INTEGER] }
end
count(query, site) click to toggle source
# File lib/counting_stars.rb, line 13
def self.count(query, site)
  request "#{query} site:#{site}"
end
request(query) click to toggle source
# File lib/counting_stars.rb, line 17
def self.request(query)
  uri = URI::HTTPS.build(
      :host  => 'encrypted.google.com',
      :path  => '/search',
      :query => { :q => query }.to_query
  )

  page = Nokogiri::HTML(open(uri))
  page = page.css('div.slp').first.text
  page.gsub(/[[:space:]]/, ' ').lstrip.split(' - ')
end
tripadvisor(query) click to toggle source
# File lib/counting_stars.rb, line 34
def self.tripadvisor(query)
  response = count(query, 'tripadvisor.com')
  { rating: response[0][INTEGER], reviews: response[1][INTEGER], price_range: response[2][DOLLARS] }
end