Sha256: 9397f470985ded742540a384f951832e152d1788aaeafc53a29aa64e5d400637

Contents?: true

Size: 595 Bytes

Versions: 31

Compression:

Stored size: 595 Bytes

Contents

require_relative 'action/summarize'
require_relative 'action/comment'

module Gitlab
  module Triage
    module Action
      def self.process(policy:, **args)
        {
          Summarize => policy.summarize?,
          Comment => policy.comment?
        }.compact.each do |action, active|
          act(action: action, policy: policy, **args) if active
        end
      end

      def self.act(action:, dry:, **args)
        klass =
          if dry
            action.const_get(:Dry)
          else
            action
          end

        klass.new(**args).act
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
gitlab-triage-1.14.3 lib/gitlab/triage/action.rb
gitlab-triage-1.14.2 lib/gitlab/triage/action.rb
gitlab-triage-1.14.1 lib/gitlab/triage/action.rb
gitlab-triage-1.14.0 lib/gitlab/triage/action.rb
gitlab-triage-1.13.0 lib/gitlab/triage/action.rb
gitlab-triage-1.12.0 lib/gitlab/triage/action.rb
gitlab-triage-1.11.0 lib/gitlab/triage/action.rb
gitlab-triage-1.10.1 lib/gitlab/triage/action.rb
gitlab-triage-1.10.0 lib/gitlab/triage/action.rb
gitlab-triage-1.9.0 lib/gitlab/triage/action.rb
gitlab-triage-1.8.0 lib/gitlab/triage/action.rb
gitlab-triage-1.7.1 lib/gitlab/triage/action.rb
gitlab-triage-1.7.0 lib/gitlab/triage/action.rb
gitlab-triage-1.6.1 lib/gitlab/triage/action.rb
gitlab-triage-1.6.0 lib/gitlab/triage/action.rb
gitlab-triage-1.5.1 lib/gitlab/triage/action.rb
gitlab-triage-1.5.0 lib/gitlab/triage/action.rb
gitlab-triage-1.4.2 lib/gitlab/triage/action.rb
gitlab-triage-1.4.1 lib/gitlab/triage/action.rb
gitlab-triage-1.4.0 lib/gitlab/triage/action.rb