class MalaysiaAirlines
Attributes
res[RW]
Public Instance Methods
search()
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 7 def search get process rescue StandardError end
Private Instance Methods
flights(result)
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 89 def flights(result) result["outboundOptions"] end
get()
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 15 def get new_date = DateTime.parse(date) new_date = new_date.strftime("%Y-%m-%d") key = "52e6d6d613d3a3e825ac02253fe6b5a4" url = "https://flymh.mobi/TravelAPI/travelapi/shop/1/mh/" << "#{from}/#{to}/1/0/0/Economy/#{new_date}/" uri = URI(url) req = Net::HTTP::Get.new(uri.path, "X-apiKey" => key) self.res = request(uri, req) end
process()
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 30 def process json = JSON.parse res.body.gsub(/^fn\(|\)/, "") flights(json).each do |flight| params = if flight["flights"].count > 1 process_for_transit(flight) else process_for_non_transit(flight) end process_for_all(flight, params) end end
process_for_all(flight, params)
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 72 def process_for_all(flight, params) trips = flight["flights"] fare = fare_selector(flight) origin = origin_selector(trips[0]) depart_at = depart_at_selector(trips[0]) add_to_fares(flight_name: "Malaysia Airlines", flight_number: params[:flight_number], transit: params[:transit], origin: origin, destination: params[:destination], depart_at: depart_at, arrive_at: params[:arrive_at], fare: fare) end
process_for_non_transit(flight)
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 58 def process_for_non_transit(flight) trips = flight["flights"] transit = "NO" arrive_at = arrive_at_selector(trips[0]) flight_number = flight_number_selector(trips[0], false) destination = destination_selector(trips[0], false) { transit: transit, arrive_at: arrive_at, flight_number: flight_number, destination: destination } end
process_for_transit(flight)
click to toggle source
# File lib/teecket/malaysia_airlines.rb, line 44 def process_for_transit(flight) trips = flight["flights"] transit = "YES" arrive_at = arrive_at_selector(trips[trips.count - 1]) flight_number = flight_number_selector(trips, true) destination = destination_selector(trips[trips.count - 1], true) { transit: transit, arrive_at: arrive_at, flight_number: flight_number, destination: destination } end