class MasonellwoodCliAppTwo::StateScraper attr_accessor :name, :cities, :state, :url def initialize(state) @state = state end def scrape_cities html = open("https://www.wunderground.com/cgi-bin/findweather/getForecast?query=#{@state}") #pulls html student_file = Nokogiri::HTML(html) cities_array = [] student_file.css("tbody tr").each do |x| city = x.css("a").text url = x.search("a").attr("href").value cities_array << "#{city} : #{url}" end @cities = cities_array end def city_weather(input) input_city = input self.cities.each do |x| citys = x.split(/ : /) downcase_city = citys[0].downcase if downcase_city == input_city html = open("https://www.wunderground.com/#{citys[1]}") #pulls html student_file = Nokogiri::HTML(html) weather_conditions = student_file.css("#curCond .wx-value").text temperature = student_file.css("#curTemp .wx-value").text puts "It looks like you are interested in beautiful #{input_city.capitalize}!" puts "Weather Conditions for Today: #{weather_conditions}" puts "Current Temperature: #{temperature} Degrees Fahrenheit" puts "Check more or the Cities in your area by typing the City name." puts "If you want to see all the Cities again, type Cities." puts "Or type exit." end end end end