Sha256: e3ccc47214c3134cd1d4b39b3d8496cd4427a2261f6a505b1557cdf59973d37b

Contents?: true

Size: 736 Bytes

Versions: 7

Compression:

Stored size: 736 Bytes

Contents

# frozen_string_literal: true

require 'active_support/all'

module Gitlab
  module Triage
    module Limiters
      class BaseLimiter
        def initialize(resources, limit)
          @resources = initialize_resources(resources)
          validate_limit(limit)
          initialize_variables(limit)
        end

        def limit
          raise NotImplementedError
        end

        def self.limiter_parameters
          []
        end

        private

        def initialize_variables(limit); end

        def initialize_resources(resources)
          resources
        end

        def validate_limit(limit)
          LimiterValidator.new(self.class.limiter_parameters, limit).validate!
        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/limiters/base_limiter.rb
gitlab-triage-1.44.2 lib/gitlab/triage/limiters/base_limiter.rb
gitlab-triage-1.44.1 lib/gitlab/triage/limiters/base_limiter.rb
gitlab-triage-1.44.0 lib/gitlab/triage/limiters/base_limiter.rb
gitlab-triage-1.43.2 lib/gitlab/triage/limiters/base_limiter.rb
gitlab-triage-1.43.1 lib/gitlab/triage/limiters/base_limiter.rb
gitlab-triage-1.43.0 lib/gitlab/triage/limiters/base_limiter.rb