• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

moosetechnology / GitProjectHealth / 13807959532

12 Mar 2025 09:27AM UTC coverage: 66.714% (+0.2%) from 66.508%
13807959532

push

github

web-flow
Merge pull request #140 from moosetechnology/feature/self-merged-merge-request

Add self merged merge request for project level

134 of 150 new or added lines in 5 files covered. (89.33%)

11751 of 17614 relevant lines covered (66.71%)

0.67 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

83.33
/src/GitLabHealth-Model-Analysis/SelfMergedUnderAMinuteMergeRequestProjectMetric.class.st
1
Class {
2
        #name : #SelfMergedUnderAMinuteMergeRequestProjectMetric,
3
        #superclass : #ProjectMetric,
4
        #category : #'GitLabHealth-Model-Analysis'
5
}
6

7
{ #category : #calculating }
8
SelfMergedUnderAMinuteMergeRequestProjectMetric >> calculate [
1✔
9

1✔
10
        | groupedByDate gitAnalyzer mergedMergeRequest noVerificationMergeRequests |
1✔
11
        projectMergeRequests ifNil: [ self load ].
1✔
12
        groupedByDate := self setupGroupedDate.
1✔
13

1✔
14
        gitAnalyzer := GitAnalyzer new.
1✔
15

1✔
16
        mergedMergeRequest := projectMergeRequests select: [ :mr |
1✔
17
                                      mr merged_at isNotNil ].
1✔
18

1✔
19
        noVerificationMergeRequests := mergedMergeRequest select: [
1✔
20
                                               :userMergeRequest |
1✔
21
                                               | validation |
1✔
22
                                               validation := gitAnalyzer
1✔
23
                                                                     analyseMergeResquestValidation:
1✔
24
                                                                     userMergeRequest.
1✔
25
                        
1✔
26
                                               userMergeRequest merge_user
1✔
27
                                               = userMergeRequest author and: [
1✔
28
                                                       (validation at: #duration)
1✔
29
                                                       < 1 minutes ] ].
1✔
30

1✔
31
        noVerificationMergeRequests do: [ :userMergeRequest |
1✔
32
                | dateOver |
1✔
33
                dateOver := self transformDate: userMergeRequest created_at to: over.
1✔
34
                groupedByDate
1✔
35
                        at: dateOver printString
1✔
36
                        ifPresent: [ :value | value add: userMergeRequest ] ].
1✔
37

1✔
38
        groupedByDate := groupedByDate collect: [ :group | group size ].
1✔
39

1✔
40
        ^ groupedByDate average asFloat
1✔
41
]
1✔
42

43
{ #category : #accessing }
NEW
44
SelfMergedUnderAMinuteMergeRequestProjectMetric >> description [
×
NEW
45

×
NEW
46
        ^ 'Merged merge requests merged by its author under a minute after creation'
×
NEW
47
]
×
48

49
{ #category : #loading }
50
SelfMergedUnderAMinuteMergeRequestProjectMetric >> load [
1✔
51

1✔
52
        projectMergeRequests := self
1✔
53
                                        loadMergeRequestsSince: (period at: #since)
1✔
54
                                        until: (period at: #until)
1✔
55
]
1✔
56

57
{ #category : #accessing }
NEW
58
SelfMergedUnderAMinuteMergeRequestProjectMetric >> name [
×
NEW
59

×
NEW
60
        ^ 'ProjectSelfMergedUnderAMinuteMergeRequest'
×
NEW
61
]
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc