Class: Skyscanner::RouteInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/movlog/routes.rb

Overview

Route info

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ RouteInfo

Returns a new instance of RouteInfo.



9
10
11
# File 'lib/movlog/routes.rb', line 9

def initialize(data)
  load_data(data)
end

Instance Attribute Details

#carriersObject (readonly)

Returns the value of attribute carriers.



7
8
9
# File 'lib/movlog/routes.rb', line 7

def carriers
  @carriers
end

#placesObject (readonly)

Returns the value of attribute places.



7
8
9
# File 'lib/movlog/routes.rb', line 7

def places
  @places
end

#quotesObject (readonly)

Returns the value of attribute quotes.



7
8
9
# File 'lib/movlog/routes.rb', line 7

def quotes
  @quotes
end

#routesObject (readonly)

Returns the value of attribute routes.



7
8
9
# File 'lib/movlog/routes.rb', line 7

def routes
  @routes
end

Class Method Details

.find(meta) ⇒ Object



13
14
15
16
# File 'lib/movlog/routes.rb', line 13

def self.find(meta)
  data = SkyscannerApi.routes_info(meta)
  new(data)
end

Instance Method Details

#parse_flightsObject



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/movlog/routes.rb', line 18

def parse_flights
  @quotes.map do |quo|
    data = {
      min_price: quo['MinPrice'], direct: quo['Direct'],
      carriers: get_carriers(quo['OutboundLeg']['CarrierIds']),
      origin: get_place(quo['OutboundLeg']['OriginId']),
      destination: get_place(quo['OutboundLeg']['DestinationId']),
      date: quo['OutboundLeg']['DepartureDate']
    }
    Flight.new(data)
  end
end