Sha256: 40e34ce37d858c49cbe11ab0f8deda091c5ddc70c25974e20e555e3c1f471ab0

Contents?: true

Size: 1.78 KB

Versions: 1

Compression:

Stored size: 1.78 KB

Contents

require "kijkwijzer/version"
include ERB::Util
require 'nokogiri'
require 'open-uri'
require 'kijkwijzer/result'
require 'kijkwijzer/railtie' if defined?(Rails)

module Kijkwijzer
  POSSIBLE_RATINGS = [
    {name: "Alle leeftijden", value: "al", code: "al"},
    {name: "6 jaar en ouder", value: "6", code: "6"},
    {name: "9 jaar en ouder", value: "9", code: "9"},
    {name: "12 jaar en ouder", value: "12", code: "12"},
    {name: "16 jaar en ouder", value: "16", code: "16"},
    {name: "Geweld", value: "violence", code: "g"},
    {name: "Angst", value: "scary", code: "a"},
    {name: "Seks", value: "sex", code: "s"},
    {name: "Discriminatie", value: "discrimination", code: "d"},
    {name: "Drugs en/of alcoholmisbruik", value: "drugs", code: "h"},
    {name: "Grof taalgebruik", value: "language", code: "t"}
  ]
  class << self
    def search_url(search)
      "http://www.kijkwijzer.nl/index.php?id=3__i&searchfor=#{url_encode(search)}&tab=KIJKWIJZER"
    end
    def get_content(search)
      Nokogiri::HTML(open(search_url(search)))
    end

    # Search the Kijkwijzer database
    #
    # @return [Kijkwijzer::Result]
    def search(search, filter={})
      res = get_content(search)
      results = []
      res.css('.content_hok .nieuwsitem').each do |result|
        r = Result.new()
        r.title = result.css('b').text
        meta_parse = result.text.match(/Productietype\:\s(.*)\.\sProductiejaar\:\s(\d\d\d\d)\.\s/)
        r.year = meta_parse[2].to_i
        r.production_type = meta_parse[1]
        r.ratings = result.css("img").collect{|a| a.attr("src").match(/\/images\/icons\/M_(.*)\.png/)[1]}
        include_r = true
        filter.each do |key, value|
          include_r = (r.send(key) == value)
        end
        results << r  if include_r
      end
      results
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kijkwijzer-0.1.2 lib/kijkwijzer.rb