class Logster::GroupingPattern

Constants

CACHE_KEY

Public Class Methods

set_name() click to toggle source
# File lib/logster/grouping_pattern.rb, line 6
def self.set_name
  "__LOGSTER__grouping_patterns_set".freeze
end

Public Instance Methods

destroy(clear_cache: true) click to toggle source
Calls superclass method
# File lib/logster/grouping_pattern.rb, line 24
def destroy(clear_cache: true) # arg used in tests
  super()
  @store.remove_pattern_group(self.pattern)
  @store.clear_patterns_cache(CACHE_KEY) if clear_cache
end
save(args = {}) click to toggle source
Calls superclass method
# File lib/logster/grouping_pattern.rb, line 10
def save(args = {})
  super
  existing_groups = @store.find_pattern_groups
  group = Logster::Group.new(self.to_s)
  messages = @store.get_all_messages(with_env: false)
  messages.select! do |m|
    m.message =~ self.pattern && existing_groups.none? { |g| g.messages_keys.include?(m.key) }
  end
  group.messages = messages
  group.count = messages.size
  @store.save_pattern_group(group) if group.changed?
  @store.clear_patterns_cache(CACHE_KEY)
end