Sha256: cb86e1ae4fb8199061331b4c1c1004affea78f01e8c6fdccbd7289675bb7f611

Contents?: true

Size: 745 Bytes

Versions: 40

Compression:

Stored size: 745 Bytes

Contents

module QuickTravel
  class ProductPassengerSearchCriteria
    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

    def initialize
      @passenger_count_by_type = {}
    end

    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

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

    def to_hash
      @passenger_count_by_type
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
quicktravel_client-4.7.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.6.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.5.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.4.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.3.2 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.3.1 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.3.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.2.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.1.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-4.0.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.9.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.8.1 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.8.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-1.1.2 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.7.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.6.1 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.6.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.5.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.4.0 lib/quick_travel/product_passenger_search_criteria.rb
quicktravel_client-3.3.0 lib/quick_travel/product_passenger_search_criteria.rb