class WhatAWorld::Scraper::ScraperCli

Attributes

all_countries[RW]
all_url_extensions[RW]
letter[R]
letter_countries[R]
letter_url_extensions[R]

Public Class Methods

new(letter) click to toggle source
# File lib/what_a_world/scraper.rb, line 7
def initialize(letter)
    @letter = letter
    @all_countries = []
    @all_url_extensions = []
    @letter_countries = []
    @letter_url_extensions = []
end

Public Instance Methods

find_all_countries() click to toggle source
# File lib/what_a_world/scraper.rb, line 15
def find_all_countries
    html = open(URL)
    all_countries_page = Nokogiri::HTML(html)
    country_names = ""
    country_names = all_countries_page.css(".selecter_links option[value^='geos']").text.strip
    self.all_countries = country_names.split("  ")
    self.all_url_extensions = all_countries_page.css(".selecter_links option").collect{ |link|
        link.attr('value') unless link.attr('value') === ""
    }
    self.all_url_extensions.reject!{|url| url.nil?}
end
find_countries_by_letter() click to toggle source
# File lib/what_a_world/scraper.rb, line 27
def find_countries_by_letter
    indices = []
    self.all_countries.each.with_index{ |country, index|
        if country[0] == self.letter && country.gsub(" ", "") != "EuropeanUnion"
            indices << index
            self.letter_countries << country
        end
    }
    iterator = indices.first
    while iterator <= indices.last
        self.letter_url_extensions << self.all_url_extensions[iterator]
        iterator += 1
    end
end