Sha256: cef1312d129fc05601ba67ac3a95f3edb27d294d306872f78c30ae475d4803ad
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
require 'rubygems' require 'xmlsimple' require 'net/http' module Echelon class SeaworldOrlando < Park attr_reader :xml_data def ride_list { 2002 => 'Wild Arctic Ride', 2048 => 'Flying Fiddler', 2049 => 'Swishy Fishies', 2034 => 'Kraken', 2018 => 'Sky Tower', 2036 => 'Journey to Atlantis', 2037 => 'Manta', 2008 => 'Sea Carousel', 2044 => 'Shamu Express', 2045 => 'Ocean Commotion', 2046 => 'Jazzy Jellies' } end def initialize # fetch the xml file http = Net::HTTP.new('lab.defimobile.com', 443) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE resp, data = http.get('/orlando/rides') # were only interested in the ride data, throw everything else away xml_data = XmlSimple.xml_in(data) @xml_data = xml_data['ride'] end private def create_ride_object(ref) self.xml_data.each do |ride| if ride["id"].to_s.to_i == ref active, queue_time = parse_wait_time(ride["waitTime"].to_s) updated_at = DateTime.parse(ride["lastModified"].to_s) return Ride.new(:name => self.ride_list[ref], :queue_time => queue_time, :active => active, :updated_at => updated_at) end end end def parse_wait_time(wait) if wait == "Closed" queue_time = 0 active = 0 elsif wait == "No Wait" queue_time = 0 active = 1 elsif wait =~ /(\d*) min/ queue_time = $1.to_i active = 1 else queue_time = 0 active = 0 end return active, queue_time end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
echelon-0.0.5 | lib/echelon/parks/seaworld_orlando.rb |