Class: ExpediaApi::Entities::FlightCombination

Inherits:
Object
  • Object
show all
Defined in:
lib/expedia_api/entities/flight_combination.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_data) ⇒ FlightCombination

Returns a new instance of FlightCombination.



7
8
9
# File 'lib/expedia_api/entities/flight_combination.rb', line 7

def initialize(raw_data)
  @raw_data = raw_data || {}
end

Instance Attribute Details

#cheapest_combination_priceObject

Returns the value of attribute cheapest_combination_price.



4
5
6
# File 'lib/expedia_api/entities/flight_combination.rb', line 4

def cheapest_combination_price
  @cheapest_combination_price
end

#outbound_legObject

Returns the value of attribute outbound_leg.



4
5
6
# File 'lib/expedia_api/entities/flight_combination.rb', line 4

def outbound_leg
  @outbound_leg
end

#raw_dataObject (readonly)

Returns the value of attribute raw_data.



5
6
7
# File 'lib/expedia_api/entities/flight_combination.rb', line 5

def raw_data
  @raw_data
end

#return_legObject

Returns the value of attribute return_leg.



4
5
6
# File 'lib/expedia_api/entities/flight_combination.rb', line 4

def return_leg
  @return_leg
end

Instance Method Details

#piidObject



11
12
13
# File 'lib/expedia_api/entities/flight_combination.rb', line 11

def piid
  @raw_data[:PIID]
end

#price_difference_to_cheapest_combinationObject



24
25
26
27
# File 'lib/expedia_api/entities/flight_combination.rb', line 24

def price_difference_to_cheapest_combination
  return nil unless total_price && cheapest_combination_price
  total_price - Money.new(cheapest_combination_price[:Value].to_f * 100, cheapest_combination_price[:CurrencyCode])
end

#total_priceObject

returns a money object including the price. returns nil if there is no price



16
17
18
19
20
21
22
# File 'lib/expedia_api/entities/flight_combination.rb', line 16

def total_price
  if raw_data[:PriceInformation] && raw_data[:PriceInformation][:TotalPrice]
    Money.new(raw_data[:PriceInformation][:TotalPrice][:Value].to_f * 100, raw_data[:PriceInformation][:TotalPrice][:CurrencyCode])
  else
    nil
  end
end