class ActiveSupport::TaggedLogging::TagStack

:nodoc:

def clear

def clear
  @tags_string = nil
  @tags.clear
end

def format_message(message)

def format_message(message)
  if @tags.empty?
    message
  elsif @tags.size == 1
    "[#{@tags[0]}] #{message}"
  else
    @tags_string ||= "[#{@tags.join("] [")}] "
    "#{@tags_string}#{message}"
  end
end

def initialize

def initialize
  @tags = []
  @tags_string = nil
end

def pop_tags(count)

def pop_tags(count)
  @tags_string = nil
  @tags.pop(count)
end

def push_tags(tags)

def push_tags(tags)
  @tags_string = nil
  tags.flatten!
  tags.reject!(&:blank?)
  @tags.concat(tags)
  tags
end