Guest User

Untitled

a guest
Dec 17th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. # frozen_string_literal: true
  2.  
  3. module Galileo
  4. class FareAttrs
  5. def intialize(params)
  6. @params = params
  7. end
  8.  
  9. def call
  10. segments.map { |segment| send(type, Amadeus::SegmentParser.new(segment)) }
  11. end
  12.  
  13. def type
  14. %w[fxb, fxr, fxl].include?(params[:command]) ? :minimal : :same
  15. end
  16.  
  17. private
  18.  
  19. attr_reader :params
  20.  
  21. def segments
  22. Amadeus::PnrParser.new(pnr).segments
  23. end
  24.  
  25. def minimal(parser)
  26. {
  27. flight_number: parser.flight_number,
  28. departure_city: parser.departure_city,
  29. arrival_city: parser.arrival_city,
  30. departure_datetime: parser.departure_datetime,
  31. passengers_types: []
  32. }
  33. end
  34.  
  35. def same(parser)
  36. minimal(parser).merge(
  37. booking_class: parser.booking_class,
  38. fare: fare
  39. )
  40. end
  41.  
  42. def fare
  43. # tst_parser = Amadeus::TstParser.new(params[:response])
  44. # if tst_parser.is_tst?
  45. # tst_parser.fares
  46. # else
  47. # end
  48. end
  49. end
  50. end
Add Comment
Please, Sign In to add comment