Snippets

osman a Bart times

Created by osman a last modified
#!/usr/bin/env ruby

require "net/http"
require "uri"
require 'nokogiri'

if Time.now.hour > 15
  url = 'http://api.bart.gov'
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  request = Net::HTTP::Get.new('/api/etd.aspx?cmd=etd&orig=DBRK&key=MW9S-E7SL-26DU-VV8V')
  response = http.request(request)
  result = Nokogiri::XML(response.body)

  station_from = result.xpath("//station//abbr").map(&:text).join
  stations_to = result.xpath("//station//etd/abbreviation").children.map(&:text)
  estimates = result.xpath("//station//etd/estimate//minutes").map(&:text)

  puts "#{station_from} to #{stations_to[0]} #{estimates[6..9].join(' ')}"
end

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.