Sha256: 84acf01c501da3d64af52fcf9ea61f10a123dff93187ad55446f5f8002df8c9f

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

require 'real_page/document_parser/guest_cards'
require 'real_page/request_section/prospect_search_criterion'

require_relative 'base'

module RealPage
  module Request
    # Retrieve information about a known Prospect
    #
    # Required initializer parameters:
    #
    # @param pmc_id [String] the unique identifier for the property management
    #   company in RealPage
    # @param site_id [String] the unique identifier for the property in RealPage
    # @guest_card_id [String] the unique identifier for the guest_card in
    #   RealPage
    class ProspectSearch < Base
      private

      attr_reader :guest_card_id, :request_params

      def after_initialize(params)
        @guest_card_id = params[:guest_card_id]
        unless guest_card_id
          raise ArgumentError, 'Params must include :guest_card_id'
        end
        @request_params = params
      end

      def parser
        DocumentParser::GuestCards.new(
          request_params: request_params,
          request_name: request_name
        )
      end

      def request_name
        self.class.name.split('::').last
      end

      def sections
        [
          RequestSection::ProspectSearchCriterion.new(
            guest_card_id: guest_card_id
          )
        ]
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
real_page-2.3.6 lib/real_page/request/prospect_search.rb
real_page-2.3.5 lib/real_page/request/prospect_search.rb
real_page-2.3.4 lib/real_page/request/prospect_search.rb
real_page-2.3.3 lib/real_page/request/prospect_search.rb
real_page-2.3.2 lib/real_page/request/prospect_search.rb
real_page-2.3.1 lib/real_page/request/prospect_search.rb
real_page-2.3.0 lib/real_page/request/prospect_search.rb