[Pharo] Personal fitness tracker web app.
Reinstate factory methods for muscles and muscle groups.
Changed files
src/MyFitnessTracker-Core/MFTMuscle.class.st
@@ -5,14 +5,294 @@
5
5
#name : 'MFTMuscle',
6
6
#superclass : 'MFTObject',
7
7
#instVars : [
8
Removed:
'primaryMuscleGroupId',
9
8
'latinName',
10
9
'englishName',
11
Removed:
'function'
10
Added:
'function',
11
Added:
'primaryMuscleGroup'
12
12
],
13
13
#category : 'MyFitnessTracker-Core',
14
14
#package : 'MyFitnessTracker-Core'
15
15
}
16
Added:
17
Added:
{ #category : 'as yet unclassified' }
18
Added:
MFTMuscle class >> bicepsBrachii [
19
Added:
20
Added:
^ self newWithLatinName
21
Added:
englishName: 'biceps';
22
Added:
yourself
23
Added:
]
24
Added:
25
Added:
{ #category : 'as yet unclassified' }
26
Added:
MFTMuscle class >> brachioRadialis [
27
Added:
28
Added:
^ self newWithLatinName
29
Added:
englishName: 'brachioradialis';
30
Added:
description:
31
Added:
'Located in the forearm, it is responsible for flexing the forearm at the elbow joint.';
32
Added:
yourself
33
Added:
]
34
Added:
35
Added:
{ #category : 'as yet unclassified' }
36
Added:
MFTMuscle class >> deltoidAnterior [
37
Added:
38
Added:
^ self new
39
Added:
englishName: 'deltoid (anterior)';
40
Added:
latinName: 'deltoideus';
41
Added:
yourself
42
Added:
]
43
Added:
44
Added:
{ #category : 'as yet unclassified' }
45
Added:
MFTMuscle class >> deltoidMedial [
46
Added:
47
Added:
^ self new
48
Added:
englishName: 'deltoid (medial)';
49
Added:
latinName: 'deltoideus';
50
Added:
yourself
51
Added:
]
52
Added:
53
Added:
{ #category : 'as yet unclassified' }
54
Added:
MFTMuscle class >> deltoidPosterior [
55
Added:
56
Added:
^ self new
57
Added:
englishName: 'deltoid (posterior)';
58
Added:
latinName: 'deltoideus';
59
Added:
yourself
60
Added:
]
61
Added:
62
Added:
{ #category : 'as yet unclassified' }
63
Added:
MFTMuscle class >> erectorSpinae [
64
Added:
65
Added:
^ self newWithLatinName
66
Added:
englishName: 'erectors';
67
Added:
description:
68
Added:
'This group of muscles runs along the spine and is responsible for extending the vertebral column and maintaining an upright posture.';
69
Added:
yourself
70
Added:
]
71
Added:
72
Added:
{ #category : 'as yet unclassified' }
73
Added:
MFTMuscle class >> extensorCarpiRadialiasBrevis [
74
Added:
75
Added:
^ self newWithLatinName
76
Added:
englishName: 'Extensor Carpi Radialis Brevis';
77
Added:
description:
78
Added:
'Located in the forearm, it is responsible for extending the wrist and abducting the hand.';
79
Added:
yourself
80
Added:
]
81
Added:
82
Added:
{ #category : 'as yet unclassified' }
83
Added:
MFTMuscle class >> extensorCarpiRadialisLongus [
84
Added:
85
Added:
^ self newWithLatinName
86
Added:
englishName: 'Extensor Carpi Radialis Longus';
87
Added:
description:
88
Added:
'Located in the forearm, it is responsible for extending the wrist and abducting the hand.';
89
Added:
yourself
90
Added:
]
91
Added:
92
Added:
{ #category : 'as yet unclassified' }
93
Added:
MFTMuscle class >> extensorCarpiUlnaris [
94
Added:
95
Added:
^ self newWithLatinName
96
Added:
englishName: 'Extensor Carpi Ulnaris';
97
Added:
description:
98
Added:
'Located in the forearm, it is responsible for extending the wrist and adducting the hand.';
99
Added:
yourself
100
Added:
]
101
Added:
102
Added:
{ #category : 'as yet unclassified' }
103
Added:
MFTMuscle class >> flexorCarpiRadialis [
104
Added:
105
Added:
^ self newWithLatinName
106
Added:
englishName: 'Flexor Carpi Radialis';
107
Added:
description:
108
Added:
'Located in the forearm, it is responsible for flexing the wrist and abducting the hand.';
109
Added:
yourself
110
Added:
]
111
Added:
112
Added:
{ #category : 'as yet unclassified' }
113
Added:
MFTMuscle class >> flexorCarpiUlnaris [
114
Added:
115
Added:
^ self newWithLatinName
116
Added:
englishName: 'Flexor Carpi Ulnaris';
117
Added:
description:
118
Added:
'Located in the forearm, it is responsible for flexing the wrist and adducting the hand.';
119
Added:
yourself
120
Added:
]
121
Added:
122
Added:
{ #category : 'as yet unclassified' }
123
Added:
MFTMuscle class >> gastrocnemius [
124
Added:
125
Added:
^ self newWithLatinName
126
Added:
englishName: 'calf';
127
Added:
description:
128
Added:
'Located in the calf, it is responsible for plantar flexion of the foot (pointing toes).';
129
Added:
yourself
130
Added:
]
131
Added:
132
Added:
{ #category : 'as yet unclassified' }
133
Added:
MFTMuscle class >> gluteusMaximus [
134
Added:
135
Added:
^ self newWithLatinName
136
Added:
englishName: 'glutes';
137
Added:
description:
138
Added:
'The largest muscle in the buttocks, responsible for hip extension, outward rotation, and abduction.';
139
Added:
yourself
140
Added:
]
141
Added:
142
Added:
{ #category : 'as yet unclassified' }
143
Added:
MFTMuscle class >> gluteusMedius [
144
Added:
145
Added:
^ self newWithLatinName
146
Added:
englishName: 'glutes';
147
Added:
description:
148
Added:
'Located in the buttocks, it plays a role in hip abduction and medial rotation.';
149
Added:
yourself
150
Added:
]
151
Added:
152
Added:
{ #category : 'as yet unclassified' }
153
Added:
MFTMuscle class >> gluteusMinimus [
154
Added:
155
Added:
^ self newWithLatinName
156
Added:
englishName: 'glutes';
157
Added:
description:
158
Added:
'Also located in the buttocks, it assists in hip abduction and medial rotation, working with the gluteus medius.';
159
Added:
yourself
160
Added:
]
161
Added:
162
Added:
{ #category : 'as yet unclassified' }
163
Added:
MFTMuscle class >> hamstring [
164
Added:
165
Added:
^ self newWithLatinName
166
Added:
englishName: 'hamstrings';
167
Added:
description:
168
Added:
'This group of muscles includes the biceps femoris, semitendinosus, and semimembranosus. They are located in the back of the thigh and are responsible for knee flexion and hip extension.';
169
Added:
yourself
170
Added:
]
171
Added:
172
Added:
{ #category : 'as yet unclassified' }
173
Added:
MFTMuscle class >> latissimusDorsi [
174
Added:
175
Added:
^ self newWithLatinName
176
Added:
englishName: 'lats';
177
Added:
description:
178
Added:
'Also known as the "lats," these muscles are located in the upper back and are responsible for shoulder adduction and extension.';
179
Added:
yourself
180
Added:
]
181
Added:
182
Added:
{ #category : 'instance creation' }
183
Added:
MFTMuscle class >> newWithLatinName [
184
Added:
"I return a MFTMuscle instance for which latinName is set to the calling method selector."
185
Added:
186
Added:
^ self new
187
Added:
latinName: thisContext sender selector;
188
Added:
yourself
189
Added:
]
190
Added:
191
Added:
{ #category : 'as yet unclassified' }
192
Added:
MFTMuscle class >> obliquusExternusAbdominis [
193
Added:
194
Added:
^ self newWithLatinName
195
Added:
englishName: 'external oblique';
196
Added:
description: 'Located on the front and side of the abdomen.';
197
Added:
yourself
198
Added:
]
199
Added:
200
Added:
{ #category : 'as yet unclassified' }
201
Added:
MFTMuscle class >> obliquusInternusAbdominis [
202
Added:
203
Added:
^ self newWithLatinName
204
Added:
englishName: 'internal oblique';
205
Added:
description: 'Located on the front and side of the abdomen.';
206
Added:
yourself
207
Added:
]
208
Added:
209
Added:
{ #category : 'as yet unclassified' }
210
Added:
MFTMuscle class >> pectoralisMajor [
211
Added:
212
Added:
^ self newWithLatinName
213
Added:
englishName: 'pectoral';
214
Added:
description:
215
Added:
'Commonly known as the "pecs," these muscles are in the chest and are responsible for shoulder flexion and adduction.';
216
Added:
yourself
217
Added:
]
218
Added:
219
Added:
{ #category : 'as yet unclassified' }
220
Added:
MFTMuscle class >> pectoralisMinor [
221
Added:
222
Added:
^ self newWithLatinName
223
Added:
englishName: 'pectoral';
224
Added:
description:
225
Added:
'Located beneath the pectoralis major, it plays a role in stabilizing the shoulder blade and assisting in deep breathing.';
226
Added:
yourself
227
Added:
]
228
Added:
229
Added:
{ #category : 'as yet unclassified' }
230
Added:
MFTMuscle class >> quadricepsFemoris [
231
Added:
232
Added:
^ self newWithLatinName
233
Added:
englishName: 'quad';
234
Added:
description:
235
Added:
'A group of four muscles on the front of the thigh, responsible for knee extension.';
236
Added:
yourself
237
Added:
]
238
Added:
239
Added:
{ #category : 'as yet unclassified' }
240
Added:
MFTMuscle class >> rectusAbdominis [
241
Added:
242
Added:
^ self newWithLatinName
243
Added:
englishName: 'six-pack';
244
Added:
description:
245
Added:
'Located along the front of the abdomen. Colloquially known as the "six-pack"';
246
Added:
yourself
247
Added:
]
248
Added:
249
Added:
{ #category : 'as yet unclassified' }
250
Added:
MFTMuscle class >> rotatorCuff [
251
Added:
252
Added:
^ self newWithLatinName
253
Added:
englishName: 'rotator cuff';
254
Added:
description:
255
Added:
'This group includes four muscles: supraspinatus, infraspinatus, teres minor, and subscapularis. They play a crucial role in stabilizing the shoulder joint and facilitating arm rotation.';
256
Added:
yourself
257
Added:
]
258
Added:
259
Added:
{ #category : 'as yet unclassified' }
260
Added:
MFTMuscle class >> soleus [
261
Added:
262
Added:
^ self newWithLatinName
263
Added:
englishName: 'calf';
264
Added:
description:
265
Added:
'Also located in the calf, it assists the gastrocnemius in plantar flexion and helps maintain posture.';
266
Added:
yourself
267
Added:
]
268
Added:
269
Added:
{ #category : 'as yet unclassified' }
270
Added:
MFTMuscle class >> transversusAbdominis [
271
Added:
272
Added:
^ self new
273
Added:
englishName: 'abs';
274
Added:
description:
275
Added:
'Deepest abdominal muscle. Wraps around the spine for protection and stability.';
276
Added:
yourself
277
Added:
]
278
Added:
279
Added:
{ #category : 'as yet unclassified' }
280
Added:
MFTMuscle class >> trapezius [
281
Added:
282
Added:
^ self newWithLatinName
283
Added:
englishName: 'trap';
284
Added:
description:
285
Added:
'The trapezius muscles are located in the upper back and neck. They play a role in moving and stabilizing the shoulder blades.';
286
Added:
yourself
287
Added:
]
288
Added:
289
Added:
{ #category : 'as yet unclassified' }
290
Added:
MFTMuscle class >> tricepsBrachii [
291
Added:
292
Added:
^ self newWithLatinName
293
Added:
englishName: 'triceps';
294
Added:
yourself
295
Added:
]
16
296
17
297
{ #category : 'as yet unclassified' }
18
298
MFTMuscle >> englishName [
src/MyFitnessTracker-Core/MFTMuscleGroup.class.st
@@ -14,16 +14,116 @@
14
14
#package : 'MyFitnessTracker-Core'
15
15
}
16
16
17
Removed:
{ #category : 'as yet unclassified' }
18
Removed:
MFTMuscleGroup class >> antagonistIds [
19
Removed:
"TODO: is this sufficiently robust ?"
17
Added:
{ #category : 'instance creation' }
18
Added:
MFTMuscleGroup class >> abdominal [
20
19
21
Removed:
^ {
22
Removed:
{ 2. 4 } asSet.
23
Removed:
{ 5. 6 } asSet.
24
Removed:
{ 8. 9 } asSet.
25
Removed:
{ 8. 11 } asSet.
26
Removed:
{ 12. 13 } asSet }
20
Added:
^ self newWithEnglishName
21
Added:
description: 'The abdominal muscles constitute the core.';
22
Added:
muscles: {
23
Added:
MFTMuscle rectusAbdominis.
24
Added:
MFTMuscle obliquusExternusAbdominis.
25
Added:
MFTMuscle obliquusInternusAbdominis.
26
Added:
MFTMuscle transversusAbdominis };
27
Added:
yourself
28
Added:
]
29
Added:
30
Added:
{ #category : 'instance creation' }
31
Added:
MFTMuscleGroup class >> arm [
32
Added:
33
Added:
^ self newWithEnglishName
34
Added:
latinName: 'brachium';
35
Added:
muscles: {
36
Added:
MFTMuscle bicepsBrachii.
37
Added:
MFTMuscle tricepsBrachii };
38
Added:
yourself
39
Added:
]
40
Added:
41
Added:
{ #category : 'instance creation' }
42
Added:
MFTMuscleGroup class >> back [
43
Added:
44
Added:
^ self newWithEnglishName
45
Added:
muscles: {
46
Added:
MFTMuscle latissimusDorsi.
47
Added:
MFTMuscle trapezius.
48
Added:
MFTMuscle erectorSpinae };
49
Added:
yourself
50
Added:
]
51
Added:
52
Added:
{ #category : 'instance creation' }
53
Added:
MFTMuscleGroup class >> calf [
54
Added:
55
Added:
^ self newWithEnglishName
56
Added:
muscles: {
57
Added:
MFTMuscle gastrocnemius.
58
Added:
MFTMuscle soleus };
59
Added:
yourself
60
Added:
]
61
Added:
62
Added:
{ #category : 'instance creation' }
63
Added:
MFTMuscleGroup class >> chest [
64
Added:
65
Added:
^ self newWithEnglishName
66
Added:
muscles: {
67
Added:
MFTMuscle pectoralisMajor.
68
Added:
MFTMuscle pectoralisMinor };
69
Added:
yourself
70
Added:
]
71
Added:
72
Added:
{ #category : 'instance creation' }
73
Added:
MFTMuscleGroup class >> forearm [
74
Added:
75
Added:
^ self newWithEnglishName
76
Added:
latinName: 'antebrachium';
77
Added:
muscles: {
78
Added:
MFTMuscle brachioRadialis.
79
Added:
MFTMuscle flexorCarpiRadialis.
80
Added:
MFTMuscle flexorCarpiUlnaris.
81
Added:
MFTMuscle extensorCarpiRadialisLongus.
82
Added:
MFTMuscle extensorCarpiRadialiasBrevis.
83
Added:
MFTMuscle extensorCarpiUlnaris };
84
Added:
yourself
85
Added:
]
86
Added:
87
Added:
{ #category : 'instance creation' }
88
Added:
MFTMuscleGroup class >> hip [
89
Added:
90
Added:
^ self newWithEnglishName
91
Added:
muscles: {
92
Added:
MFTMuscle gluteusMaximus.
93
Added:
MFTMuscle gluteusMedius.
94
Added:
MFTMuscle gluteusMinimus };
95
Added:
yourself
96
Added:
]
97
Added:
98
Added:
{ #category : 'instance creation' }
99
Added:
MFTMuscleGroup class >> leg [
100
Added:
101
Added:
^ self newWithEnglishName
102
Added:
muscles: {
103
Added:
MFTMuscle quadricepsFemoris.
104
Added:
MFTMuscle hamstring };
105
Added:
yourself
106
Added:
]
107
Added:
108
Added:
{ #category : 'instance creation' }
109
Added:
MFTMuscleGroup class >> newWithEnglishName [
110
Added:
"I return a MFTMuscle Group instance for which latinName is set to the calling method selector."
111
Added:
112
Added:
^ self new
113
Added:
englishName: thisContext sender selector;
114
Added:
yourself
115
Added:
]
116
Added:
117
Added:
{ #category : 'instance creation' }
118
Added:
MFTMuscleGroup class >> shoulder [
119
Added:
120
Added:
^ self newWithEnglishName
121
Added:
muscles: {
122
Added:
MFTMuscle deltoidAnterior.
123
Added:
MFTMuscle deltoidMedial.
124
Added:
MFTMuscle deltoidPosterior.
125
Added:
MFTMuscle rotatorCuff };
126
Added:
yourself
27
127
]
28
128
29
129
{ #category : 'as yet unclassified' }