Sha256: fbcf2e3d378159f63687bced7002b5f892689ded8f5f3cf34b369f823bb5c9e4

Contents?: true

Size: 1.02 KB

Versions: 11

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

module Karafka
  module Web
    module Ui
      module Models
        # Allows for a granular control over what parts of messages are being displayed
        # There are scenarios where payload or other parts of messages should not be presented
        # because they may contain sensitive data. This API allows to manage that on a per message
        # basis.
        class VisibilityFilter
          # @param _message [::Karafka::Messages::Message]
          # @return [Boolean] should message key be visible
          def key?(_message)
            true
          end

          # @param _message [::Karafka::Messages::Message]
          # @return [Boolean] should message headers be visible
          def headers?(_message)
            true
          end

          # @param message [::Karafka::Messages::Message]
          # @return [Boolean] should message payload be visible
          def payload?(message)
            !message.headers.key?('encryption')
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
karafka-web-0.7.10 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.9 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.8 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.7 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.6 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.5 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.4 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.3 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.2 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.1 lib/karafka/web/ui/models/visibility_filter.rb
karafka-web-0.7.0 lib/karafka/web/ui/models/visibility_filter.rb