class AirAsia
Attributes
res[RW]
Public Instance Methods
search()
click to toggle source
# File lib/teecket/air_asia.rb, line 7 def search get process rescue StandardError end
Private Instance Methods
flights(result)
click to toggle source
# File lib/teecket/air_asia.rb, line 58 def flights(result) if result["session-id"] result["depart"][date]["details"]["low-fare"] else [] end end
get()
click to toggle source
# File lib/teecket/air_asia.rb, line 15 def get uri = URI("https://argon.airasia.com/api/7.0/search") req = Net::HTTP::Post.new(uri.path) req.body = URI.encode_www_form([ ["type", "classic"], ["origin", from], ["destination", to], ["depart", date], ["return", ""], ["passenger-count", 1], ["child-count", 0], ["infant-count", 0], ["currency", "MYR"], ["days", 1] ]) self.res = request(uri, req) end
process()
click to toggle source
# File lib/teecket/air_asia.rb, line 35 def process json = JSON.parse(res.body) flights(json).each do |flight| depart_at = depart_at_selector(flight) arrive_at = arrive_at_selector(flight) fare = fare_selector(flight) flight_number = flight_number_selector(flight) origin = origin_selector(flight) destination = destination_selector(flight) transit = "NO" add_to_fares(flight_name: "AirAsia", flight_number: flight_number, transit: transit, origin: origin, destination: destination, depart_at: depart_at, arrive_at: arrive_at, fare: fare) end end