Welcome to mirror list, hosted at ThFree Co, Russian Federation.

issue.rb « summary « cycle_analytics « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 34e0d34b960be614d21d78b6cce03d6a057a0f7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

module Gitlab
  module CycleAnalytics
    module Summary
      class Issue < Base
        def initialize(project:, options:, current_user:)
          @project = project
          @options = options
          @current_user = current_user
        end

        def title
          n_('New Issue', 'New Issues', value.to_i)
        end

        def value
          @value ||= Value::PrettyNumeric.new(issues_count)
        end

        private

        def issues_count
          IssuesFinder
            .new(@current_user, finder_params)
            .execute
            .count
        end

        def finder_params
          @options.dup.tap do |hash|
            hash[:created_after] = hash.delete(:from)
            hash[:created_before] = hash.delete(:to)
            hash[:project_id] = @project.id
          end
        end
      end
    end
  end
end