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

moosetechnology / GitProjectHealth / 10664257731

02 Sep 2024 09:11AM UTC coverage: 18.06%. First build
10664257731

Pull #46

github

web-flow
Merge f972c3087 into 3d150934d
Pull Request #46: refactor: change metric structure

0 of 840 new or added lines in 23 files covered. (0.0%)

1590 of 8804 relevant lines covered (18.06%)

0.18 hits per line

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

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

7
{ #category : #calculating }
NEW
8
TimeBetweenCommitMetric >> calculate [
×
NEW
9

×
NEW
10
        | commitSortedByDate commits1 commits2 differences groupedByDate dateOver average |
×
NEW
11
        userCommits ifNil: [ self load ].
×
NEW
12
        groupedByDate := self setupGroupedDate.
×
NEW
13

×
NEW
14
        commitSortedByDate := userCommits sorted: [ :commit1 :commit2 |
×
NEW
15
                                      commit1 committed_date
×
NEW
16
                                      < commit2 committed_date ].
×
NEW
17

×
NEW
18
        commitSortedByDate do: [ :commit |
×
NEW
19
                dateOver := self transformDate: commit committed_date to: over.
×
NEW
20

×
NEW
21
                groupedByDate
×
NEW
22
                        at: dateOver printString
×
NEW
23
                        ifPresent: [ :value | value add: commit ] ].
×
NEW
24

×
NEW
25
        groupedByDate := groupedByDate select: [ :group | group size >= 2 ].
×
NEW
26

×
NEW
27

×
NEW
28
        groupedByDate := groupedByDate collect: [ :group |
×
NEW
29
                                 differences := (1 to: group size - 1) collect: [ :i |
×
NEW
30
                                                        commits1 := group at: i.
×
NEW
31
                                                        commits2 := group at: i + 1.
×
NEW
32

×
NEW
33
                                                        (commits2 committed_date
×
NEW
34
                                                         - commits1 committed_date)
×
NEW
35
                                                                asSeconds ].
×
NEW
36

×
NEW
37
                                 differences average asDuration ].
×
NEW
38

×
NEW
39
        average := groupedByDate
×
NEW
40
                           ifEmpty: [ nil ]
×
NEW
41
                           ifNotEmpty: [ groupedByDate average ].
×
NEW
42

×
NEW
43
        ^ average
×
NEW
44
]
×
45

46
{ #category : #accessing }
NEW
47
TimeBetweenCommitMetric >> description [
×
NEW
48

×
NEW
49
        ^ 'average time between commits'
×
NEW
50
]
×
51

52
{ #category : #accessing }
NEW
53
TimeBetweenCommitMetric >> name [
×
NEW
54

×
NEW
55
        ^ 'timeBetweenCommit'
×
NEW
56
]
×
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