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

moosetechnology / GitProjectHealth / 13943480841

19 Mar 2025 09:45AM UTC coverage: 70.207% (+2.2%) from 68.041%
13943480841

push

github

web-flow
Merge pull request #163 from moosetechnology/develop

add more metric to main

2397 of 3773 new or added lines in 42 files covered. (63.53%)

1 existing line in 1 file now uncovered.

13708 of 19525 relevant lines covered (70.21%)

0.7 hits per line

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

84.62
/src/GitLabHealth-Model-Analysis/UserMetric.class.st
1
Class {
2
        #name : #UserMetric,
3
        #superclass : #Metric,
4
        #instVars : [
5
                'user',
6
                'userCommits',
7
                'userMergeRequests',
8
                'emailDomain'
9
        ],
10
        #category : #'GitLabHealth-Model-Analysis'
11
}
12

13
{ #category : #testing }
NEW
14
UserMetric class >> isAbstract [
×
NEW
15

×
NEW
16
        ^ self == UserMetric
×
NEW
17
]
×
18

19
{ #category : #calculating }
20
UserMetric >> calculate [
21

22
        ^ self subclassResponsibility
23
]
24

25
{ #category : #accessing }
26
UserMetric >> description [
27

28
        ^ self subclassResponsibility
29
]
30

31
{ #category : #accessing }
32
UserMetric >> emailDomain: anObject [
×
33

×
34
        emailDomain := anObject
×
35
]
×
36

37
{ #category : #initialization }
38
UserMetric >> initialize [
1✔
39
        over := Date
1✔
40
]
1✔
41

42
{ #category : #loading }
43
UserMetric >> load [
44

45
        ^ self subclassResponsibility
46
]
47

48
{ #category : #loading }
49
UserMetric >> loadCompleteMergeRequestsSince: since until: until [
1✔
50

1✔
51
        | mergeRequests |
1✔
52
        mergeRequests := self
1✔
53
                                 loadMergeRequestsSince: since until: until.
1✔
54

1✔
55
        mergeRequests do: [ :mergeRequest |
1✔
56
                glhImporter importMergeResquestMerger: mergeRequest.
1✔
57
                glhImporter importMergeRequestCommits: mergeRequest ].
1✔
58

1✔
59
        ^ mergeRequests
1✔
60
]
1✔
61

62
{ #category : #loading }
63
UserMetric >> loadMergeRequestsSince: since until: until [
1✔
64

1✔
65
        | cacheSymbol mergeRequests |
1✔
66
        glhImporter withCommitDiffs: false.
1✔
67
        cacheSymbol := self
1✔
68
                               cacheSymbolFor: GLHMergeRequest
1✔
69
                               since: since
1✔
70
                               until: until.
1✔
71

1✔
72
        mergeRequests := user contributedProjects collect: [ :project |
1✔
73
                                 | mr |
1✔
74
                                 project cacheAt: cacheSymbol ifAbsentPut: [
1✔
75
                                         mr := glhImporter
1✔
76
                                                       importMergeRequests: project
1✔
77
                                                       since: since
1✔
78
                                                       until: until.
1✔
79
                                         mr ] ].
1✔
80

1✔
81
        mergeRequests := mergeRequests flattened.
1✔
82
        glhImporter withCommitDiffs: true.
1✔
83

1✔
84
        mergeRequests do: [ :mr | glhImporter importMergeResquestAuthor: mr ].
1✔
85

1✔
86
        ^ mergeRequests "mergeRequests select: [ :mergeRequest |
1✔
87
                  mergeRequest author = user ]"
1✔
88
]
1✔
89

90
{ #category : #loading }
91
UserMetric >> loadMergeRequestsWithJiraIssueSince: since until: until [
×
92

×
93
        | email mergeRequests |
×
94
        mergeRequests := self
×
95
                                 loadMergeRequestsSince: since until:  until.
×
96

×
97
        email := self userEmail.
×
98

×
99
        jiraImporter importAllCurrentAndPastIssuesOf: email.
×
100

×
101
        GPJCConnector new
×
102
                gpModel: glhImporter glhModel;
×
103
                jiraModel: jiraImporter model;
×
104
                connect.
×
105

×
106
        ^ mergeRequests select: [ :mergeRequest |
×
107
                  mergeRequest jiraIssue isNotNil ]
×
108
]
×
109

110
{ #category : #loading }
111
UserMetric >> loadUserCommitsSince: since until: until [
1✔
112

1✔
113
        | cacheSymbol allCommits |
1✔
114
        glhImporter withCommitDiffs: false.
1✔
115

1✔
116
        cacheSymbol := self
1✔
117
                               cacheSymbolFor: GLHCommit
1✔
118
                               since: since
1✔
119
                               until: until.
1✔
120

1✔
121
        "download commits unless project cache is not empty"
1✔
122
        allCommits := user contributedProjects collect: [ :project |
1✔
123
                              project repository
1✔
124
                                      cacheAt: cacheSymbol
1✔
125
                                      ifAbsentPut: [
1✔
126
                                              | foundCommits |
1✔
127
                                              foundCommits := glhImporter
1✔
128
                                                                      importCommitsOfProject: project
1✔
129
                                                                      since: since
1✔
130
                                                                      until: until.
1✔
131
                                              foundCommits ] ].
1✔
132

1✔
133
        allCommits := allCommits flatten.
1✔
134
        allCommits do: [ :commit | glhImporter importCreatorOfCommit: commit ].
1✔
135
        glhImporter chainsCommitsFrom: allCommits.
1✔
136
        glhImporter withCommitDiffs: true.
1✔
137

1✔
138
        ^ allCommits reject: [ :commit | commit commitCreator ~= user ]
1✔
139
]
1✔
140

141
{ #category : #loading }
142
UserMetric >> loadUserCompleteCommitsSince: since until: until [
1✔
143

1✔
144
        | commits |
1✔
145
        commits := self loadUserCommitsSince: since until: until.
1✔
146
        commits do: [ :commit | glhImporter completeImportedCommit: commit ].
1✔
147
        ^ commits
1✔
148
]
1✔
149

150
{ #category : #loading }
151
UserMetric >> loadUserCompleteMergeRequestsSince: since until: until [
1✔
152

1✔
153
        | mergeRequests |
1✔
154
        mergeRequests := self loadUserMergeRequestsSince: since until: until.
1✔
155

1✔
156
        mergeRequests do: [ :mergeRequest |
1✔
157
                glhImporter importMergeResquestMerger: mergeRequest.
1✔
158
                glhImporter importMergeRequestCommits: mergeRequest ].
1✔
159

1✔
160
        ^ mergeRequests
1✔
161
]
1✔
162

163
{ #category : #loading }
164
UserMetric >> loadUserCompleteMergeRequestsWithJiraIssueSince: since until: until [
1✔
165

1✔
166
        | email mergeRequests |
1✔
167
        mergeRequests := self
1✔
168
                                 loadUserCompleteMergeRequestsSince: since
1✔
169
                                 until: until.
1✔
170

1✔
171
        email := self userEmail.
1✔
172

1✔
173
        jiraImporter importAllCurrentAndPastIssuesOf: email.
1✔
174

1✔
175
        GPJCConnector new
1✔
176
                gpModel: glhImporter glhModel;
1✔
177
                jiraModel: jiraImporter model;
1✔
178
                connect.
1✔
179

1✔
180
        ^ mergeRequests select: [ :mergeRequest |
1✔
181
                  mergeRequest jiraIssue isNotNil ]
1✔
182
]
1✔
183

184
{ #category : #loading }
185
UserMetric >> loadUserMergeRequestsSince: since until: until [
1✔
186

1✔
187
        | mergeRequests |
1✔
188
        mergeRequests := self loadMergeRequestsSince: since until: until.
1✔
189

1✔
190
        ^ mergeRequests select: [ :mergeRequest | mergeRequest author = user ]
1✔
191
]
1✔
192

193
{ #category : #loading }
194
UserMetric >> loadUserMergeRequestsWithJiraIssueSince: since until: until [
1✔
195

1✔
196
        | email mergeRequests |
1✔
197
        mergeRequests := self loadUserMergeRequestsSince: since until: until.
1✔
198

1✔
199
        email := self userEmail.
1✔
200

1✔
201
        jiraImporter importAllCurrentAndPastIssuesOf: email.
1✔
202

1✔
203
        GPJCConnector new
1✔
204
                gpModel: glhImporter glhModel;
1✔
205
                jiraModel: jiraImporter model;
1✔
206
                connect.
1✔
207

1✔
208
        ^ mergeRequests select: [ :mergeRequest |
1✔
209
                  mergeRequest jiraIssue isNotNil ]
1✔
210
]
1✔
211

212
{ #category : #accessing }
213
UserMetric >> user: anObject [
1✔
214

1✔
215
        user := anObject
1✔
216
]
1✔
217

218
{ #category : #email }
219
UserMetric >> userEmail [
1✔
220

1✔
221
        user public_email = '' ifFalse: [ ^ user public_email ].
1✔
222

1✔
223
        ^ ('' join: {
1✔
224
                           user username.
1✔
225
                           emailDomain }) asLowercase
1✔
226
]
1✔
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

© 2026 Coveralls, Inc