class RailsLogParser::Action

Constants

KNOWN_EXCEPTIONS
SEVERITIES

Attributes

last[RW]
datetime[R]

Public Class Methods

new(type, id) click to toggle source
# File lib/rails_log_parser/action.rb, line 25
def initialize(type, id)
  self.type = type
  @id = id
  @messages = []
  @stacktrace = []
  self.class.last = self
end

Public Instance Methods

add_message(value) click to toggle source
# File lib/rails_log_parser/action.rb, line 59
def add_message(value)
  @messages.push(value)
  @headline = value if @headline.nil?
end
add_stacktrace(value) click to toggle source
# File lib/rails_log_parser/action.rb, line 64
def add_stacktrace(value)
  @stacktrace.push(value)
end
after?(datetime) click to toggle source
# File lib/rails_log_parser/action.rb, line 55
def after?(datetime)
  @datetime > datetime
end
datetime=(value) click to toggle source
# File lib/rails_log_parser/action.rb, line 51
def datetime=(value)
  @datetime ||= Time.parse(value)
end
headline() click to toggle source
# File lib/rails_log_parser/action.rb, line 47
def headline
  @headline.presence || @messages.first
end
known_exception?(key = nil) click to toggle source
# File lib/rails_log_parser/action.rb, line 41
def known_exception?(key = nil)
  @messages.any? do |message|
    KNOWN_EXCEPTIONS.any? { |e, s| message.include?(e) && severity == s && (key.nil? || key == e) }
  end
end
severity=(value) click to toggle source
Calls superclass method
# File lib/rails_log_parser/action.rb, line 33
def severity=(value)
  value = value.downcase.to_sym
  return unless severity.nil? || SEVERITIES.index(severity.to_sym) < SEVERITIES.index(value)

  super(value)
  @headline = nil
end