class LevelTravel::Search::Request
Public Class Methods
@param request_id [String] Request
ID from the `enqueue` request @param tour_id [String] Tour ID from the `get_hotel_offers` request
# File lib/level_travel/search/request.rb, line 39 def self.actualize(request_id, tour_id:) ::LevelTravel::Request.get('/search/actualize', request_id: request_id, tour_id: tour_id) end
@param search_params [LevelTravel::Search::Params] Request
params for search
# File lib/level_travel/search/request.rb, line 7 def self.enqueue(search_params) ::LevelTravel::Request.get('/search/enqueue', search_params.to_h) end
@param request_id [String] Request
ID from the `enqueue` request @param operator_ids [Array<Integer>] Operators' IDs. Succeeded IDs from the result of status request.
# File lib/level_travel/search/request.rb, line 19 def self.get_grouped_hotels(request_id, operator_ids: []) params = prepare_params(operator_ids: operator_ids) ::LevelTravel::Request.get('/search/get_grouped_hotels', request_id: request_id, **params) end
:reek: BooleanParameter :reek: LongParameterList @param request_id [String] Request
ID from the `enqueue` request @param hotel_id [Integer] Hotel ID from the `get_grouped_hotels` request @param operator_ids [Array<Integer>] Operators' IDs. Succeeded IDs from the result of status request. @param compact [Boolean] Return tours without additional information if it's true.
# File lib/level_travel/search/request.rb, line 31 def self.get_hotel_offers(request_id, hotel_id:, operator_ids: [], compact: false) params = prepare_params(operator_ids: operator_ids, compact: compact) ::LevelTravel::Request.get('/search/get_hotel_offers', request_id: request_id, hotel_id: hotel_id, **params) end
@param request_id [String] Request
ID from the `enqueue` request @param tour_id [String] Tour ID from the `get_hotel_offers` request @param from_package [Integer] To link previous offer to the current
# File lib/level_travel/search/request.rb, line 46 def self.get_offer(request_id, tour_id:, from_package: nil) params = from_package ? { from_package: from_package } : {} ::LevelTravel::Request.get('/search/get_offer', request_id: request_id, tour_id: tour_id, **params) end
@param request_id [String] Request
ID from the `enqueue` request
# File lib/level_travel/search/request.rb, line 12 def self.status(request_id) # TODO: return an object like { succeeded: [], failed: [] } ::LevelTravel::Request.get('/search/status', request_id: request_id) end
Private Class Methods
@param operator_ids [Array<Integer>] Operators' IDs. Succeeded IDs from the result of status request. @param other_params [Hash]
# File lib/level_travel/search/request.rb, line 53 def self.prepare_params(operator_ids:, **other_params) params = other_params params = params.merge(operator_ids: operator_ids.join(',')) if operator_ids.any? params end