Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # frozen_string_literal: true
- module Galileo
- class FareAttrs
- def intialize(params)
- @params = params
- end
- def call
- segments.map { |segment| send(type, Amadeus::SegmentParser.new(segment)) }
- end
- def type
- %w[fxb, fxr, fxl].include?(params[:command]) ? :minimal : :same
- end
- private
- attr_reader :params
- def segments
- Amadeus::PnrParser.new(pnr).segments
- end
- def minimal(parser)
- {
- flight_number: parser.flight_number,
- departure_city: parser.departure_city,
- arrival_city: parser.arrival_city,
- departure_datetime: parser.departure_datetime,
- passengers_types: []
- }
- end
- def same(parser)
- minimal(parser).merge(
- booking_class: parser.booking_class,
- fare: fare
- )
- end
- def fare
- # tst_parser = Amadeus::TstParser.new(params[:response])
- # if tst_parser.is_tst?
- # tst_parser.fares
- # else
- # end
- end
- end
- end
Add Comment
Please, Sign In to add comment