Sha256: 04c2cadc81dfa8b19213aedc695d741c2c4cc658eeeaeb06ea5fba562b9538dc
Contents?: true
Size: 915 Bytes
Versions: 4
Compression:
Stored size: 915 Bytes
Contents
module Savon class LogMessage def initialize(message, filter, options = {}) self.message = message self.filter = filter self.with_pretty = options[:pretty] self.with_filter = options[:filter] end attr_accessor :message, :filter, :with_pretty, :with_filter def filter? with_filter && filter.any? end def pretty? with_pretty end def to_s return message unless pretty? || filter? doc = Nokogiri::XML(message) doc = apply_filter(doc) if filter? doc.to_xml(pretty_options) end private def apply_filter(doc) return doc unless doc.errors.empty? filter.each do |fi| doc.xpath("//*[local-name()='#{fi}']").each { |node| node.content = "***FILTERED***" } end doc end def pretty_options return {} unless pretty? { :indent => 2 } end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
savon-1.0.0 | lib/savon/log_message.rb |
savon-0.9.14 | lib/savon/log_message.rb |
savon-0.9.11 | lib/savon/log_message.rb |
savon-0.9.10 | lib/savon/log_message.rb |