Sha256: 1b816153ba59483ce67272491db870fe61c4247b5bc48a1d807ccc1ba869c02f

Contents?: true

Size: 794 Bytes

Versions: 4

Compression:

Stored size: 794 Bytes

Contents

module LolSoap
  class Fault
    attr_reader :request, :node

    def initialize(request, node)
      @request = request
      @node    = node
    end

    def soap_namespace
      request.soap_namespace
    end

    def soap_version
      request.soap_version
    end

    def code
      node.at_xpath(
        soap_version == '1.2' ? './soap:Code/soap:Value' : './soap:faultcode',
        'soap' => soap_namespace
      ).text.to_s
    end

    def reason
      node.at_xpath(
        soap_version == '1.2' ? './soap:Reason/soap:Text' : './soap:faultstring',
        'soap' => soap_namespace
      ).text.to_s
    end

    def detail
      node.at_xpath(
        soap_version == '1.2' ? './soap:Detail/*' : './soap:detail/*',
        'soap' => soap_namespace
      ).to_xml
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lolsoap-0.3.2 lib/lolsoap/fault.rb
lolsoap-0.3.1 lib/lolsoap/fault.rb
lolsoap-0.3.0 lib/lolsoap/fault.rb
lolsoap-0.2.0 lib/lolsoap/fault.rb