module SkiplanClient
Constants
- VERSION
Public Class Methods
configure(url)
click to toggle source
# File lib/skiplan_client.rb, line 17 def self.configure(url) @config[:base_url] = url end
ski_area()
click to toggle source
# File lib/skiplan_client.rb, line 33 def self.ski_area xml = Nokogiri::XML(open(@config[:base_url])) skiplan = Skiplan.new(xml.xpath('//DATEINFO').text) area_metrics = xml.xpath('//INDICES') area_metrics.each do |area| skiplan.metrics[area['nom']] = Metrics.new(Hash.from_xml(area.to_s)['INDICES']) end zones = xml.xpath('//SECTEUR') zones.each do |z| skiplan.zones[z['nom']] = Zone.new(Hash.from_xml(z.to_s)['SECTEUR']) end skiplan end
texts()
click to toggle source
# File lib/skiplan_client.rb, line 50 def self.texts xml = Nokogiri::XML(open(@config[:base_url])) { fr: SkiplanClient.localized_texts(xml, 'fr'), en: SkiplanClient.localized_texts(xml, 'en') } end
weather(zone)
click to toggle source
# File lib/skiplan_client.rb, line 21 def self.weather(zone) xml = Nokogiri::XML(open(@config[:base_url])) skiplan = Skiplan.new(xml.xpath('//DATEINFO').text) zone_nodes = xml.xpath('//ZONE[@reference="' + zone + '"]') zone_nodes.each do |n| skiplan.forecasts[n['nom']] = Forecast.new(Hash.from_xml(n.to_s)['ZONE']) end skiplan end
Private Class Methods
localized_texts(xml, locale)
click to toggle source
# File lib/skiplan_client.rb, line 60 def self.localized_texts(xml, locale) text_messages = {} today_forecast = xml.xpath('//BULLETINS//JOUR//LANGUE[@val="' + locale + '"]') text_messages['today_forecast'] = Hash.from_xml(today_forecast.to_s)['LANGUE'] tomorrow_forecast = xml.xpath('//BULLETINS//LENDEMAIN//LANGUE[@val="' + locale + '"]') text_messages['tomorrow_forecast'] = Hash.from_xml(tomorrow_forecast.to_s)['LANGUE'] forecasts_comment = xml.xpath('//BULLETINS//COMMENTAIRES//LANGUE[@val="' + locale + '"]') text_messages['forecasts_comment'] = Hash.from_xml(forecasts_comment.to_s)['LANGUE'] ski_area_comment = xml.xpath('//INDICES//COMMENTAIRES//LANGUE[@val="' + locale + '"]') text_messages['ski_area'] = Hash.from_xml(ski_area_comment.to_s)['LANGUE'] conditions_comment = xml.xpath('//INDICES//ETAT_ROUTE') text_messages['conditions'] = Hash.from_xml(conditions_comment.to_s)['ETAT_ROUTE']['lib'] roads_comment = xml.xpath('//INDICES//ETAT_CHAUSSEE') text_messages['roads'] = Hash.from_xml(roads_comment.to_s)['ETAT_CHAUSSEE']['lib'] text_messages end