Sha256: ada4d55306dd87371c779d0285d58146bf564a973f1bfee79bdfc157dadcdf30

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

module Trizetto
  module Api
    module Eligibility
      module WebService

        # Validation failures from the DoInquiryRequest.
        #
        # <b>WSDL Reference</b>
        #
        #   <s:element minOccurs="0" maxOccurs="1" name="ExtraProcessingInfo" type="tns:ValidationFailureCollection" />
        #
        class ExtraProcessingInfo

          # An array of strings, each a single validation failure
          attr_accessor :messages

          # An array of ValidationFailure, each indicating field that had errors
          attr_accessor :validation_failures

          def initialize(extra_processing_info)
            self.messages = Array(extra_processing_info.dig(:all_messages, :string))

            failures = extra_processing_info.dig(:failures,:validation_failure) || []
            failures = [failures] if failures.is_a?(Hash)

            self.validation_failures = failures.map do |failure|
              ValidationFailure.new(failure)
            end
          end

          def to_h
            {
              messages: messages,
              validation_failures: validation_failures.map(&:to_h)
            }
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
trizetto-api-0.2.4 lib/trizetto/api/eligibility/web_service/extra_processing_info.rb
trizetto-api-0.2.3 lib/trizetto/api/eligibility/web_service/extra_processing_info.rb
trizetto-api-0.2.2 lib/trizetto/api/eligibility/web_service/extra_processing_info.rb
trizetto-api-0.2.1 lib/trizetto/api/eligibility/web_service/extra_processing_info.rb