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.



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

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

Instance Attribute Details

#tagsObject (readonly)

Returns the value of attribute tags.



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

def tags
  @tags
end

Instance Method Details

#clearObject



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

def clear
  @tags_string = nil
  @tags.clear
end

#format_message(message) ⇒ Object



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

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



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

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

#push_tags(tags) ⇒ Object



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

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