Class: QuickTravel::ProductPassengerSearchCriteria

Inherits:
Object
  • Object
show all
Defined in:
lib/quick_travel/product_passenger_search_criteria.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeProductPassengerSearchCriteria

Returns a new instance of ProductPassengerSearchCriteria.



11
12
13
# File 'lib/quick_travel/product_passenger_search_criteria.rb', line 11

def initialize
  @passenger_count_by_type = {}
end

Class Method Details

.from_passengers(passengers) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/quick_travel/product_passenger_search_criteria.rb', line 3

def self.from_passengers(passengers)
  new.tap do |product_passenger_search_criteria|
    passengers.each do |passenger|
      product_passenger_search_criteria.add_passenger_of_type(passenger.passenger_type_id)
    end
  end
end

Instance Method Details

#add_passenger_of_type(passenger_type_id) ⇒ Object



15
16
17
18
# File 'lib/quick_travel/product_passenger_search_criteria.rb', line 15

def add_passenger_of_type(passenger_type_id)
  @passenger_count_by_type[passenger_type_id] ||= 0
  @passenger_count_by_type[passenger_type_id] += 1
end

#set_count_for_passenger_type(passenger_type_id, count) ⇒ Object



20
21
22
# File 'lib/quick_travel/product_passenger_search_criteria.rb', line 20

def set_count_for_passenger_type(passenger_type_id, count)
  @passenger_count_by_type[passenger_type_id] = count
end

#to_hashObject



24
25
26
# File 'lib/quick_travel/product_passenger_search_criteria.rb', line 24

def to_hash
  @passenger_count_by_type
end