Sha256: 03e3473a343dde8b2b1bb9cb8410e57404f4f2208baa3c8069e471c667309d73

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

# Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
# frozen_string_literal: true

require 'contrast/config/base_configuration'

module Contrast
  module Components
    # Common Configuration settings. Those in this section pertain to the
    # disabled assess rule functionality of the Agent.
    module AssessRules
      class Interface # :nodoc:
        include Contrast::Config::BaseConfiguration

        SPEC_KEY = :disabled_rules.cs__freeze
        # @return [Array, nil] list of disabled assess rules
        attr_accessor :disabled_rules

        def initialize hsh = {}
          return unless hsh

          @disabled_rules = cast_disabled_rules(hsh)
        end

        private

        def cast_disabled_rules hsh
          return unless hsh
          return unless hsh.key?(SPEC_KEY)
          return hsh[SPEC_KEY] if hsh[SPEC_KEY].cs__is_a?(Array)

          hsh[SPEC_KEY].split(',').map(&:strip) if hsh[SPEC_KEY].cs__is_a?(String)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
contrast-agent-6.8.0 lib/contrast/components/assess_rules.rb
contrast-agent-6.7.0 lib/contrast/components/assess_rules.rb