Class: WSDL::Security::Verifier::Base Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdl/security/verifier/base.rb

Overview

This class is abstract.

Subclass and implement #valid? to create a validator.

Base class for verifier components providing shared functionality.

All verifier components inherit from this class to get:

  • Error collection and reporting
  • XML namespace constants
  • Common validation patterns

Examples:

Creating a custom validator

class MyValidator < Verifier::Base
  def initialize(document)
    super()
    @document = document
  end

  def valid?
    return add_failure('Something is wrong') unless check_something
    true
  end
end

Constant Summary collapse

SecurityNS =

Local aliases for namespace constants

Constants::NS::Security
SignatureNS =

Alias for XML Signature namespace constants.

Returns:

  • (Module)
Constants::NS::Signature
SOAPNS =

Alias for SOAP namespace constants.

Returns:

  • (Module)
Constants::NS::SOAP
SOAP_NAMESPACES =

SOAP namespace URIs for both versions.

[SOAPNS::V1_1, SOAPNS::V1_2].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBase

Creates a new validator instance.



49
50
51
# File 'lib/wsdl/security/verifier/base.rb', line 49

def initialize
  @errors = []
end

Instance Attribute Details

#errorsArray<String> (readonly)

Returns errors encountered during validation.

Returns:

  • (Array<String>)

    errors encountered during validation



46
47
48
# File 'lib/wsdl/security/verifier/base.rb', line 46

def errors
  @errors
end

Instance Method Details

#valid?Boolean

This method is abstract.

Subclasses must implement this method.

Returns whether the validation passed.

Returns:

  • (Boolean)

    true if validation passed

Raises:

  • (NotImplementedError)


57
58
59
# File 'lib/wsdl/security/verifier/base.rb', line 57

def valid?
  raise NotImplementedError, "#{self.class} must implement #valid?"
end