Sha256: 1d380615752a0db77bae841756beb926051349640533bfedb7f7aeecf119d4a8
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
require_relative './snowreport' require 'nokogiri' module Snowreports class Builder def self.build(xml:, field_id:) parsed = Nokogiri.parse(xml) last_updated_date = parsed.xpath("//skiareas/skiarea/date").text last_updated_time = parsed.xpath("//skiareas/skiarea/time").text.sub(/:\d+$/,"") weather_detail = parsed.xpath("//skiareas/skiarea/weather/detail").text road_node = parsed.xpath('//facilitytype/name[contains(text(), "Road")]').first.parent road_status = road_node.xpath(".//status/label").text road_brief = road_node.xpath(".//brief").text snowreports_field_id = parsed.xpath("//skiarea/id").text snowreports_field_name = parsed.xpath("//skiarea/name").text information = parsed.xpath("//information").text snow_min = parsed.xpath("//snow/mindepth").text snow_base = parsed.xpath("//snow/base").text mountain_status = parsed.xpath("//skiarea/status/label").text Snowreport.new(updated_date: last_updated_date, updated_time: last_updated_time, road_status: road_status, road_brief: road_brief, name: snowreports_field_name, id: snowreports_field_id, weather_detail: weather_detail, snow_min: snow_min, snow_base: snow_base, information: information, field_id: field_id, mountain_status: mountain_status, ) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
snowreports-0.2.0 | lib/snowreports/builder.rb |
snowreports-0.1.0 | lib/snowreports/builder.rb |