Exception: WSDL::DefinitionError

Inherits:
Error
  • Object
show all
Defined in:
lib/wsdl/errors.rb

Overview

Raised by WSDL::Definition#verify! when build issues were recorded.

Provides access to all issues via #issues for programmatic handling.

Examples:

begin
  definition = WSDL.parse(url)
  definition.verify!
rescue WSDL::DefinitionError => e
  e.issues.each { |issue| puts "#{issue[:operation]}: #{issue[:error]}" }
end

Constant Summary collapse

DISPLAY_LIMIT =

Maximum number of issues shown in the error message.

5

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(issues) ⇒ DefinitionError

Returns a new instance of DefinitionError.

Parameters:



550
551
552
553
554
555
556
557
558
559
560
# File 'lib/wsdl/errors.rb', line 550

def initialize(issues)
  @issues = issues

  shown = issues.first(DISPLAY_LIMIT).map { |i|
    i[:operation] ? "  #{i[:operation]}: #{i[:error]}" : "  #{i[:error]}"
  }
  remaining = issues.size - DISPLAY_LIMIT
  shown << "  ... and #{remaining} more" if remaining.positive?

  super("Definition has #{issues.size} build issue(s):\n#{shown.join("\n")}")
end

Instance Attribute Details

#issuesArray<Hash> (readonly)

Returns all build issues.

Returns:

  • (Array<Hash>)

    all build issues



563
564
565
# File 'lib/wsdl/errors.rb', line 563

def issues
  @issues
end