class Echelon::Disneyland::CaliforniaAdventure

Attributes

json_data[R]

Public Class Methods

new() click to toggle source
# File lib/echelon/parks/disneyland/california_adventure.rb, line 14
def initialize
  # fetch the json feed
  url = 'http://dparks.uiemedia.net/dmm_v2/jsondata/JsonUpdateData?version=14&p=336894'
  resp = Net::HTTP.get_response(URI.parse(url))
  data = resp.body

  # were only interested in the ride data, throw everything else away
  json_data = JSON.parse(data)
  ride_data = json_data['attractions']['homeLabels']
  queue_data = json_data['attractions']['homeValues'].map(&:to_i)
  @json_data = ride_data.each_with_index.inject({}) { |a, e| a[e.first.gsub("\302\240", '')] = queue_data[e.last]; a }
end

Public Instance Methods

ride_list() click to toggle source
# File lib/echelon/parks/disneyland/california_adventure.rb, line 10
def ride_list
  json_data.keys.inject({}) { |a, e| a[e] = e; a }
end

Private Instance Methods

create_ride_object(ref) click to toggle source
# File lib/echelon/parks/disneyland/california_adventure.rb, line 29
def create_ride_object(ref)
  json_data.each do |ride|
    return Ride.new(name: ride[0], queue_time: ride[1]) if ride[0] == ref
  end
end