Sha256: ff9dba304835406f7e5bd1077fa10dcd0a5f874331ab296f922b9af0c4287e4d

Contents?: true

Size: 591 Bytes

Versions: 2

Compression:

Stored size: 591 Bytes

Contents

# frozen_string_literal: true

module Gitlab
  module Triage
    module Policies
      BasePolicy = Struct.new(:type, :policy_spec, :resources, :net) do
        def name
          @name ||= (policy_spec[:name] || "#{type}-#{object_id}")
        end

        def actions
          @actions ||= policy_spec.fetch(:actions) { {} }
        end

        def summarize?
          actions.key?(:summarize)
        end

        def comment?
          (actions.keys - [:summarize]).any?
        end

        def build_issue
          raise NotImplementedError
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gitlab-triage-0.14.1 lib/gitlab/triage/policies/base_policy.rb
gitlab-triage-0.14.0 lib/gitlab/triage/policies/base_policy.rb