Sha256: c0a656eff20d01c290cec502e325c74326990363c2501de3288d93e3eaafa6df

Contents?: true

Size: 768 Bytes

Versions: 1

Compression:

Stored size: 768 Bytes

Contents

module SOAPClient
  class LogXML

    def self.call(*args)
      self.new(*args).()
    end

    def initialize(logger, request_xml, response_xml, scrub_directives)
      @logger = logger
      @request_xml = request_xml
      @response_xml = response_xml
      @scrub_directives = scrub_directives
    end

    def call
      @logger.info(log_text)
    end

    private

    def log_text
      [
        "Request XML: #{scrubbed_request_xml}",
        "Response XML: #{scrubbed_response_xml}",
      ].join("\n")
    end

    def scrubbed_request_xml
      @scrubbed_request_xml ||= XMLScrubber.(@request_xml, @scrub_directives)
    end

    def scrubbed_response_xml
      @scrubbed_response_xml ||= XMLScrubber.(@response_xml, @scrub_directives)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soap_client-1.0.0 lib/soap_client/services/log_xml.rb