class Echelon::DisneyWorld::Park
Attributes
json_data[R]
Public Class Methods
new(access_token, park_id)
click to toggle source
# File lib/echelon/parks/disney_world.rb, line 48 def initialize(access_token, park_id) uri = URI.parse("https://api.wdpro.disney.go.com/facility-service/theme-parks/#{park_id};entityType=theme-park/wait-times") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE headers = { 'Authorization' => "BEARER #{access_token}", 'Accept' => 'application/json' } resp = http.get(uri.request_uri, headers) @json_data = JSON.parse(resp.body) end
Public Instance Methods
ride_list()
click to toggle source
# File lib/echelon/parks/disney_world.rb, line 44 def ride_list json_data['entries'].inject({}) { |a, r| a[r['id'].split(';').first.to_i] = r['name']; a } end
Private Instance Methods
create_ride_object(ref)
click to toggle source
# File lib/echelon/parks/disney_world.rb, line 65 def create_ride_object(ref) json_data['entries'].each do |ride| if ride['id'].split(';').first.to_i == ref ride_status = ride['waitTime']['status'] status = 1 if ride_status == 'Operating' status = 0 if ride_status == 'Closed' status = -1 if ride_status == 'Down' queue_time = ride['waitTime']['postedWaitMinutes'].to_i meta = { fastpass_available: ride['waitTime']['fastPass']['available'], single_rider: ride['waitTime']['singleRider'] } return Ride.new(name: ride_list[ref], queue_time: queue_time, active: status, meta: meta) end end end