Sha256: a1f87d5b9eed4a13233c2ba1d9dca30d428a690b5b4fde9218284bd5fcc62643

Contents?: true

Size: 792 Bytes

Versions: 7

Compression:

Stored size: 792 Bytes

Contents

# frozen_string_literal: true

require_relative 'base_conditions_filter'
require_relative '../resource/context'
require 'date'

module Gitlab
  module Triage
    module Filters
      class RubyConditionsFilter < BaseConditionsFilter
        def self.limiter_parameters
          [{ name: :ruby, type: String }]
        end

        def initialize(resource, condition, network = nil)
          super(resource, { ruby: condition })

          @network = network
        end

        def calculate
          context = Resource::Context.build(@resource, network: @network, redact_confidentials: false)

          !!context.eval(@expression)
        end

        private

        def initialize_variables(condition)
          @expression = condition[:ruby]
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
gitlab-triage-1.44.3 lib/gitlab/triage/filters/ruby_conditions_filter.rb
gitlab-triage-1.44.2 lib/gitlab/triage/filters/ruby_conditions_filter.rb
gitlab-triage-1.44.1 lib/gitlab/triage/filters/ruby_conditions_filter.rb
gitlab-triage-1.44.0 lib/gitlab/triage/filters/ruby_conditions_filter.rb
gitlab-triage-1.43.2 lib/gitlab/triage/filters/ruby_conditions_filter.rb
gitlab-triage-1.43.1 lib/gitlab/triage/filters/ruby_conditions_filter.rb
gitlab-triage-1.43.0 lib/gitlab/triage/filters/ruby_conditions_filter.rb