Sha256: 30e0563c3b4aad651e8c89465e76d77709eb6be4595472a7a84f623a39b5d60b

Contents?: true

Size: 885 Bytes

Versions: 39

Compression:

Stored size: 885 Bytes

Contents

# frozen_string_literal: true

module Logster
  class GroupingPattern < Pattern
    CACHE_KEY = :grouping
    def self.set_name
      "__LOGSTER__grouping_patterns_set".freeze
    end

    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

    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
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
logster-2.20.1 lib/logster/grouping_pattern.rb
logster-2.20.0 lib/logster/grouping_pattern.rb
logster-2.19.1 lib/logster/grouping_pattern.rb
logster-2.19.0 lib/logster/grouping_pattern.rb
logster-2.18.1 lib/logster/grouping_pattern.rb
logster-2.18.0 lib/logster/grouping_pattern.rb
logster-2.17.1 lib/logster/grouping_pattern.rb
logster-2.17.0 lib/logster/grouping_pattern.rb
logster-2.16.0 lib/logster/grouping_pattern.rb
logster-2.15.0 lib/logster/grouping_pattern.rb
logster-2.14.0 lib/logster/grouping_pattern.rb
logster-2.13.1 lib/logster/grouping_pattern.rb
logster-2.13.0 lib/logster/grouping_pattern.rb
logster-2.12.2 lib/logster/grouping_pattern.rb
logster-2.12.1 lib/logster/grouping_pattern.rb
logster-2.11.4 lib/logster/grouping_pattern.rb
logster-2.11.3 lib/logster/grouping_pattern.rb
logster-2.11.2 lib/logster/grouping_pattern.rb
logster-2.11.1 lib/logster/grouping_pattern.rb
logster-2.11.0 lib/logster/grouping_pattern.rb