Sha256: 96932e98725d7c6af02b684e2e1dedf04c1e2a5ba0365ceb1831145608c17168

Contents?: true

Size: 907 Bytes

Versions: 25

Compression:

Stored size: 907 Bytes

Contents

# frozen_string_literal: true

module Logster
  class SuppressionPattern < Pattern
    CACHE_KEY = :suppression
    def self.set_name
      "__LOGSTER__suppression_patterns_set".freeze
    end

    def save(args = {})
      super
      @store.clear_patterns_cache(CACHE_KEY)
      retro_delete_messages if args[:retroactive]
    end

    def destroy(clear_cache: true) # arg used in tests
      super()
      @store.remove_ignore_count(self.to_s)
      @store.clear_patterns_cache(CACHE_KEY) if clear_cache
    end

    private

    def retro_delete_messages
      keys = []
      grouping_keys = []
      @store.get_all_messages(with_env: false).each do |message|
        if message =~ self.pattern
          keys << message.key
          grouping_keys << message.grouping_key
        end
      end
      @store.bulk_delete(keys, grouping_keys) if keys.size > 0 && grouping_keys.size > 0
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
logster-2.12.2 lib/logster/suppression_pattern.rb
logster-2.12.1 lib/logster/suppression_pattern.rb
logster-2.11.4 lib/logster/suppression_pattern.rb
logster-2.11.3 lib/logster/suppression_pattern.rb
logster-2.11.2 lib/logster/suppression_pattern.rb
logster-2.11.1 lib/logster/suppression_pattern.rb
logster-2.11.0 lib/logster/suppression_pattern.rb
logster-2.10.1 lib/logster/suppression_pattern.rb
logster-2.10.0 lib/logster/suppression_pattern.rb
logster-2.9.8 lib/logster/suppression_pattern.rb
logster-2.9.7 lib/logster/suppression_pattern.rb
logster-2.9.6 lib/logster/suppression_pattern.rb
logster-2.9.5 lib/logster/suppression_pattern.rb
logster-2.9.4 lib/logster/suppression_pattern.rb
logster-2.9.3 lib/logster/suppression_pattern.rb
logster-2.9.2 lib/logster/suppression_pattern.rb
logster-2.9.1 lib/logster/suppression_pattern.rb
logster-2.9.0 lib/logster/suppression_pattern.rb
logster-2.8.0 lib/logster/suppression_pattern.rb
logster-2.7.1 lib/logster/suppression_pattern.rb