Sha256: 6b87e78439b893683c029d1e0547fd76f6a025220a36c93e65c51b50931b8e5b

Contents?: true

Size: 990 Bytes

Versions: 61

Compression:

Stored size: 990 Bytes

Contents

require_relative 'base_limiter'
require_relative '../validators/limiter_validator'

module Gitlab
  module Triage
    module Limiters
      class DateFieldLimiter < BaseLimiter
        LIMITS = %i[most_recent oldest].freeze

        def self.limiter_parameters
          [
            {
              name: :most_recent,
              type: Integer
            },
            {
              name: :oldest,
              type: Integer
            }
          ]
        end

        def initialize_variables(limit)
          @criterion = LIMITS.find(&limit.method(:[]))
          @threshold = limit[@criterion]
        end

        def limit
          case @criterion
          when :oldest
            @resources.first(@threshold)
          when :most_recent
            @resources.last(@threshold).reverse
          end
        end

        private

        def initialize_resources(resources)
          resources.sort_by { |res| res[:created_at] }
        end
      end
    end
  end
end

Version data entries

61 entries across 61 versions & 2 rubygems

Version Path
gitlab-triage-1.42.2 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.42.1 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.42.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.41.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.40.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.30.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.29.0 lib/gitlab/triage/limiters/date_field_limiter.rb
payping-gitlab-triage-0.1.3 lib/gitlab/triage/limiters/date_field_limiter.rb
payping-gitlab-triage-0.1.2 lib/gitlab/triage/limiters/date_field_limiter.rb
payping-gitlab-triage-0.1.1 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.28.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.27.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.26.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.25.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.24.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.23.1 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.23.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.22.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.21.0 lib/gitlab/triage/limiters/date_field_limiter.rb
gitlab-triage-1.20.0 lib/gitlab/triage/limiters/date_field_limiter.rb