class BingAdsRubySdk::LogMessage

Constants

FILTERED

Attributes

message[R]

Public Class Methods

new(message) click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 6
def initialize(message)
  @message = message
end

Public Instance Methods

to_s() click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 10
def to_s
  return message unless message_is_xml
  return message unless filters.any? || pretty_print

  document = Nokogiri::XML(message)
  document = apply_filter(document) if filters.any?
  document.to_xml(nokogiri_options)
end

Private Instance Methods

apply_filter(document) click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 29
def apply_filter(document)
  return document unless document.errors.empty?

  filters.each do |filter|
    apply_filter! document, filter
  end

  document
end
apply_filter!(document, filter) click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 39
def apply_filter!(document, filter)
  document.xpath("//*[local-name()='#{filter}']").each do |node|
    node.content = FILTERED
  end
end
filters() click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 53
def filters
  BingAdsRubySdk.config.filters
end
message_is_xml() click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 25
def message_is_xml
  message =~ /^</
end
nokogiri_options() click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 45
def nokogiri_options
  pretty_print ? { indent: 2 } : { save_with: Nokogiri::XML::Node::SaveOptions::AS_XML }
end
pretty_print() click to toggle source
# File lib/bing_ads_ruby_sdk/log_message.rb, line 49
def pretty_print
  BingAdsRubySdk.config.pretty_print_xml
end