class GoogleAdsSavon::LogMessage
Public Class Methods
new(message, filters, options = {})
click to toggle source
# File lib/ads_savon/log_message.rb, line 4 def initialize(message, filters, options = {}) @message = message @filters = filters @options = options end
Public Instance Methods
to_s()
click to toggle source
# File lib/ads_savon/log_message.rb, line 10 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 Instance Methods
apply_filter(doc)
click to toggle source
# File lib/ads_savon/log_message.rb, line 28 def apply_filter(doc) return doc unless doc.errors.empty? @filters.each do |filter| apply_filter!(doc, filter) end doc end
apply_filter!(doc, filter)
click to toggle source
# File lib/ads_savon/log_message.rb, line 38 def apply_filter!(doc, filter) doc.xpath("//*[local-name()='#{filter}']").each do |node| node.content = "***FILTERED***" end end
filter?()
click to toggle source
# File lib/ads_savon/log_message.rb, line 20 def filter? @options[:filter] && @filters.any? end
pretty?()
click to toggle source
# File lib/ads_savon/log_message.rb, line 24 def pretty? @options[:pretty] end
pretty_options()
click to toggle source
# File lib/ads_savon/log_message.rb, line 44 def pretty_options return {} unless pretty? { :indent => 2 } end