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

moosetechnology / GitProjectHealth / 9746494520

01 Jul 2024 02:55PM UTC coverage: 29.879% (+0.02%) from 29.855%
9746494520

push

github

HLAD Nicolas
Merge f7e69aebf

44 of 163 new or added lines in 8 files covered. (26.99%)

546 existing lines in 10 files now uncovered.

2266 of 7584 relevant lines covered (29.88%)

0.3 hits per line

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

0.0
/src/GitLabProjectHealth-ExtendModel-Generator/GLPHMetamodelGenerator.class.st
1
Class {
2
        #name : #GLPHMetamodelGenerator,
3
        #superclass : #FamixMetamodelGenerator,
4
        #instVars : [
5
                'mergeRequest',
6
                'addition',
7
                'deletion',
8
                'change',
9
                'repository',
10
                'file',
11
                'diff',
12
                'user',
13
                'pipeline',
14
                'commit',
15
                'project',
16
                'lineOfCode',
17
                'diffRange'
18
        ],
19
        #category : #'GitLabProjectHealth-ExtendModel-Generator'
20
}
21

22
{ #category : #accessing }
23
GLPHMetamodelGenerator class >> packageName [
×
24
        ^ #'GLPHExtended-Model'
×
25
]
×
26

27
{ #category : #accessing }
28
GLPHMetamodelGenerator class >> prefix [ 
×
29
          ^ #'GLPHE'
×
30
]
×
31

32
{ #category : #accessing }
33
GLPHMetamodelGenerator class >> submetamodels [
×
34
        ^ { GLHMetamodelGenerator   }
×
35
]
×
36

37
{ #category : #'as yet unclassified' }
38
GLPHMetamodelGenerator >> changeProperties [
×
39

×
40
        change property: #index type: #Number.
×
41
        change property: #relativeIndex type: #Number.
×
42
        change property: #sourceCode type: #String. 
×
43
        addition property: #delimiter type: #String defaultValue: '#+'.
×
44
        deletion property: #delimiter type: #String defaultValue: '#-'
×
45
]
×
46

47
{ #category : #definition }
48
GLPHMetamodelGenerator >> defineClasses [
×
49

×
50
        super defineClasses.
×
51
        mergeRequest := builder
×
52
                                newClassNamed: #MergeRequest
×
53
                                comment: 'a gitlab merge request'.
×
54

×
55
        change := builder
×
56
                          newClassNamed: #Change
×
57
                          comment: 'super class for addition and deletion '.
×
58

×
59
        addition := builder
×
60
                            newClassNamed: #Addition
×
61
                            comment:
×
62
                            'a detected addition of a line, seen within a diff '.
×
63
        deletion := builder
×
64
                            newClassNamed: #Deletion
×
65
                            comment:
×
66
                            'a detected deletion of a line, seen within a diff '.
×
67

×
68
        lineOfCode := builder
×
69
                              newClassNamed: #LineOfCode
×
70
                              comment: 'a line of code in a diff comparaison '.
×
71

×
72
        diffRange := builder
×
73
                             newClassNamed: #DiffRange
×
74
                             comment:
×
75
                             'a indicate on which line of code are concerned by a diff (usually declared with @@ oldRange, newRange @@) '.
×
76

×
77

×
78
        repository := self remoteEntity: #Repository withPrefix: #GLH.
×
79
        file := self remoteEntity: #File withPrefix: #GLH.
×
80
        diff := self remoteEntity: #Diff withPrefix: #GLH.
×
81
        user := self remoteEntity: #User withPrefix: #GLH.
×
82
        pipeline := self remoteEntity: #Pipeline withPrefix: #GLH.
×
83
        commit := self remoteEntity: #Commit withPrefix: #GLH.
×
84
        project := self remoteEntity: #Project withPrefix: #GLH
×
85
]
×
86

87
{ #category : #definition }
88
GLPHMetamodelGenerator >> defineHierarchy [
×
89

×
90
        super defineHierarchy.
×
91
        (builder ensureClassNamed: #Entity) --|> #TEntityMetaLevelDependency.
×
92
        change --|> #TNamedEntity.
×
93
         change <|-- addition.
×
94
        change <|-- deletion.
×
95
        change <|-- lineOfCode.
×
96
        mergeRequest --|> #TNamedEntity
×
97
]
×
98

99
{ #category : #definition }
100
GLPHMetamodelGenerator >> defineProperties [
×
101

×
102
        super defineProperties.
×
103

×
104
        self changeProperties.
×
105
        self mergeRequestProperties.
×
106
        self diffRangeProperties.
×
107
]
×
108

109
{ #category : #definition }
110
GLPHMetamodelGenerator >> defineRelations [
×
111

×
112
        super defineRelations.
×
113

×
114
        "MERGE REQUEST RELATIONS"
×
115
        (mergeRequest property: #author)
×
116
        *- (user property: #createdMergeRequests).
×
NEW
117
        
×
NEW
118
        (mergeRequest property: #approved_by)
×
NEW
119
        *-* (user property: #approcheMergeRequests).
×
120

×
121
        (mergeRequest property: #merge_user) *- (user property: #usedMerges).
×
122

×
123
        (mergeRequest property: #closed_by)
×
124
        *- (user property: #closedMergeRequests).
×
125

×
126
        (mergeRequest property: #merged_by)
×
127
        *- (user property: #mergerOfMergeRequests).
×
128

×
129
        (mergeRequest property: #assignees)
×
130
        *-* (user property: #assignedMergeRequests).
×
131

×
132
        (mergeRequest property: #assignee)
×
133
        *- (user property: #currentlyAssignedMergeRequest).
×
134

×
135
        (mergeRequest property: #reviewers)
×
136
        *-* (user property: #reviewedMergeResquest).
×
137

×
138
        (mergeRequest property: #pipeline)
×
139
        - (pipeline property: #mergeResquest).
×
140

×
141
        (mergeRequest property: #mergedCommit)
×
142
        - (commit property: #commitedMergeRequest).
×
143

×
144
        (mergeRequest property: #mergeRequestCommit)
×
145
        - (commit property: #commitedMergeRequest).
×
146

×
147
        (mergeRequest property: #squashCommit)
×
148
        - (commit property: #squashedMergeRequest).
×
149

×
150
        (mergeRequest property: #diffs) -* (diff property: #mergeRequest).
×
151

×
152
        (project property: #mergeRequests)
×
153
        <>-* (mergeRequest property: #project).
×
154

×
155
        "DIFF"
×
156
        (diff property: #file) <>-* (file property: #diffs).
×
157
        (diff property: #diffRanges) <>-* (diffRange property: #diff).
×
158
        (diffRange property: #changes) -* (change property: #diffRange)
×
159
]
×
160

161
{ #category : #'as yet unclassified' }
162
GLPHMetamodelGenerator >> diffRangeProperties [
×
UNCOV
163
"must parse the range. 
×
UNCOV
164
        originalLineRange = '-120,5' --> change starts at line #120
×
165
        5 is the number of lines in the original file affected by the change"
×
166
        diffRange property: #originalLineRange type: #String.
×
167
        diffRange property: #newLineRange type: #String.
×
168
        diffRange property: #lineOfCode type: #String
×
169
]
×
170

×
171
{ #category : #'as yet unclassified' }
×
172
GLPHMetamodelGenerator >> mergeRequestProperties [
×
173

×
174
        mergeRequest property: #id type: #Number.
×
175
        mergeRequest property: #iid type: #Number.
×
176
        mergeRequest property: #project_id type: #Number.
×
177
        mergeRequest property: #title type: #String.
×
178
        mergeRequest property: #description type: #String.
×
179
        mergeRequest property: #state type: #String.
×
180
        mergeRequest property: #created_at type: #Object.
×
181
        mergeRequest property: #updated_at type: #Object.
×
182
        mergeRequest property: #merged_at type: #Object.
×
183
        mergeRequest property: #closed_at type: #Object.
×
184
        mergeRequest property: #target_branch type: #String.
×
185
        mergeRequest property: #source_branch type: #String.
×
186
        mergeRequest property: #user_notes_count type: #Number.
×
187
        mergeRequest property: #upvotes type: #Number.
×
188
        mergeRequest property: #downvotes type: #Number.
×
189
        mergeRequest property: #source_project_id type: #Number.
×
190
        mergeRequest property: #target_project_id type: #Number.
×
191
        mergeRequest property: #labels type: #Object.
×
192
        mergeRequest property: #draft type: #Boolean.
×
193
        mergeRequest property: #work_in_progress type: #Boolean.
×
194
        mergeRequest property: #milestone type: #String.
×
195
        mergeRequest property: #merge_when_pipeline_succeeds type: #Boolean.
×
196
        mergeRequest property: #merge_status type: #String.
×
197
        mergeRequest property: #detailed_merge_status type: #String.
×
198
        mergeRequest property: #sha type: #String.
×
199
        mergeRequest property: #merge_commit_sha type: #String.
×
200
        mergeRequest property: #squash_commit_sha type: #String.
×
201
        mergeRequest property: #discussion_locked type: #String.
×
202
        mergeRequest property: #should_remove_source_branch type: #Boolean.
×
203
        mergeRequest property: #force_remove_source_branch type: #Boolean.
×
204
        mergeRequest property: #reference type: #String.
×
205
        mergeRequest property: #references_short type: #String.
×
206
        mergeRequest property: #references_relative type: #String.
×
207
        mergeRequest property: #references_full type: #String.
×
208
        mergeRequest property: #web_url type: #String.
×
209
        mergeRequest property: #time_stats_time_estimate type: #Number.
×
210
        mergeRequest property: #time_stats_total_time_spent type: #Number.
×
211
        mergeRequest property: #time_stats_human_time_estimate type: #String.
×
212
        mergeRequest
×
213
                property: #time_stats_human_total_time_spent
×
214
                type: #String.
×
215
        mergeRequest property: #squash type: #Boolean.
×
216
        mergeRequest property: #squash_on_merge type: #Boolean.
×
217
        mergeRequest property: #task_completion_status_count type: #Number.
×
218
        mergeRequest
×
219
                property: #task_completion_status_completed_count
×
220
                type: #Number.
×
221
        mergeRequest property: #has_conflicts type: #Boolean.
×
222
        mergeRequest property: #blocking_discussions_resolved type: #Boolean.
×
223
        mergeRequest property: #subscribed type: #Boolean.
×
224
        mergeRequest property: #changes_count type: #String.
×
225
        mergeRequest property: #latest_build_started_at type: #String.
×
226
        mergeRequest property: #latest_build_finished_at type: #String.
×
NEW
227
        mergeRequest property: #first_deployed_to_production_at type: #String.
×
NEW
228
        mergeRequest property: #approved type: #Boolean
×
229
]
×
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