Class: ActiveSupport::TaggedLogging::TagStack

Inherits:
Object
  • Object
show all
Defined in:
lib/active_support/tagged_logging.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTagStack

Returns a new instance of TagStack.



73
74
75
76
# File 'lib/active_support/tagged_logging.rb', line 73

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

Instance Attribute Details

#tagsObject (readonly)

Returns the value of attribute tags.



71
72
73
# File 'lib/active_support/tagged_logging.rb', line 71

def tags
  @tags
end

Instance Method Details

#clearObject



91
92
93
94
# File 'lib/active_support/tagged_logging.rb', line 91

def clear
  @tags_string = nil
  @tags.clear
end

#format_message(message) ⇒ Object



96
97
98
99
100
101
102
103
104
105
# File 'lib/active_support/tagged_logging.rb', line 96

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

#pop_tags(count) ⇒ Object



86
87
88
89
# File 'lib/active_support/tagged_logging.rb', line 86

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

#push_tags(tags) ⇒ Object



78
79
80
81
82
83
84
# File 'lib/active_support/tagged_logging.rb', line 78

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