Update core components.

Commit
f62a01aa86b44670945606754ff8970536015902
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
src/MyFitnessTracker-Core/MFTEquipment.class.st
index 0c09bfea..55374961 100644..100644
@@ -18,7 +18,7 @@
18 18 ]
19 19
20 20 { #category : 'as yet unclassified' }
21 Removed: MFTEquipment class >> dumbell [
21 Added: MFTEquipment class >> dumbbell [
22 22
23 23 ^ self newWithEnglishName
24 24 ]
src/MyFitnessTracker-Core/MFTMuscle.class.st
index c2fc830b..b900b302 100644..100644
@@ -181,11 +181,13 @@
181 181
182 182 { #category : 'instance creation' }
183 183 MFTMuscle class >> newWithLatinName [
184 Removed: "I return a MFTMuscle instance for which latinName is set to the calling method selector."
184 Added: "I return a MFTMuscle instance for which latinName is set to the calling method selector, as a space-separated string."
185 185
186 Removed: ^ self new
187 Removed: latinName: thisContext sender selector;
188 Removed: yourself
186 Added: | latinNameFromSender |
187 Added: latinNameFromSender := (thisContext sender selector splitCamelCase
188 Added: collect: #asLowercase) joinUsing:
189 Added: Character space.
190 Added: ^ self new latinName: latinNameFromSender
189 191 ]
190 192
191 193 { #category : 'as yet unclassified' }
src/MyFitnessTracker-Core/MFTMuscleGroup.class.st
index c3601c7b..0bae5b2d 100644..100644
@@ -17,7 +17,6 @@
17 17 MFTMuscleGroup class >> abdominal [
18 18
19 19 ^ self newWithEnglishName
20 Removed: description: 'The abdominal muscles constitute the core.';
21 20 muscles: {
22 21 MFTMuscle rectusAbdominis.
23 22 MFTMuscle obliquusExternusAbdominis.
src/MyFitnessTracker-Core/MFTRoutine.class.st
index 8f9736a4..53e60dcc 100644..100644
@@ -5,8 +5,8 @@
5 5 #name : 'MFTRoutine',
6 6 #superclass : 'MFTObject',
7 7 #instVars : [
8 Removed: 'routine',
9 Removed: 'trainee'
8 Added: 'trainee',
9 Added: 'cycle'
10 10 ],
11 11 #category : 'MyFitnessTracker-Core',
12 12 #package : 'MyFitnessTracker-Core'
@@ -16,13 +16,12 @@
16 16 MFTRoutine class >> heavyDutyOneIdealRoutine [
17 17
18 18 ^ self new
19 Removed: routine: {
20 Removed: MFTWorkout heavyDutyOneDay1.
21 Removed: (MFTRest duration: 4 days).
22 Removed: MFTWorkout heavyDutyOneDay2.
23 Removed: (MFTRest duration: 4 days).
24 Removed: MFTWorkout heavyDutyOneDay3.
25 Removed: (MFTRest duration: 4 days) };
19 Added: addWorkout: MFTWorkout heavyDutyOneDay1;
20 Added: addRest: (MFTRest duration: 4 days);
21 Added: addWorkout: MFTWorkout heavyDutyOneDay2;
22 Added: addRest: (MFTRest duration: 4 days);
23 Added: addWorkout: MFTWorkout heavyDutyOneDay3;
24 Added: addRest: (MFTRest duration: 4 days);
26 25 yourself
27 26 ]
28 27
@@ -38,16 +37,21 @@
38 37 ]
39 38
40 39 { #category : 'adding' }
40 Added: MFTRoutine >> addRest: aMFTRest [
41 Added:
42 Added: cycle addLast: aMFTRest
43 Added: ]
44 Added:
45 Added: { #category : 'as yet unclassified' }
41 46 MFTRoutine >> addWorkout: aMFTWorkout [
42 47
43 Removed: routine addLast: aMFTWorkout.
44 Removed: aMFTWorkout routine: self
48 Added: cycle addLast: aMFTWorkout
45 49 ]
46 50
47 51 { #category : 'adding' }
48 52 MFTRoutine >> addWorkouts: aMFTWorkoutCollection [
49 53
50 Removed: routine addAll: aMFTWorkoutCollection.
54 Added: cycle addAll: aMFTWorkoutCollection.
51 55 aMFTWorkoutCollection do: [ :workout | workout routine: self ]
52 56 ]
53 57
@@ -64,10 +68,17 @@
64 68 ]
65 69
66 70 { #category : 'accessing' }
71 Added: MFTRoutine >> cycleDuration [
72 Added: "I add workout days and rest days."
73 Added:
74 Added: ^ self workouts size days + self totalRestDuration
75 Added: ]
76 Added:
77 Added: { #category : 'accessing' }
67 78 MFTRoutine >> initialize [
68 79
69 80 super initialize.
70 Removed: routine := OrderedCollection new
81 Added: cycle := OrderedCollection new
71 82 ]
72 83
73 84 { #category : 'as yet unclassified' }
@@ -85,13 +96,15 @@
85 96 { #category : 'accessing' }
86 97 MFTRoutine >> routine [
87 98
88 Removed: ^ routine
99 Added: ^ cycle
89 100 ]
90 101
91 102 { #category : 'accessing' }
92 Removed: MFTRoutine >> routine: aMFTWorkoutAndRestCollection [
103 Added: MFTRoutine >> totalRestDuration [
93 104
94 Removed: routine := aMFTWorkoutAndRestCollection
105 Added: ^ (cycle
106 Added: select: [ :each | each class = MFTRest ]
107 Added: thenCollect: #duration) sum
95 108 ]
96 109
97 110 { #category : 'accessing' }
src/MyFitnessTracker-Core/MFTSet.class.st
index 18615d9b..ef3fbf53 100644..100644
@@ -14,6 +14,14 @@
14 14 #package : 'MyFitnessTracker-Core'
15 15 }
16 16
17 Added: { #category : 'accessing' }
18 Added: MFTSet class >> exercise: aMFTExercise [
19 Added:
20 Added: ^ self new
21 Added: exercise: aMFTExercise;
22 Added: yourself
23 Added: ]
24 Added:
17 25 { #category : 'as yet unclassified' }
18 26 MFTSet class >> exercise: aMFTExercise reps: anInteger load: aNumber [
19 27
src/MyFitnessTracker-Core/MFTTrainee.class.st
index c251c892..31a13992 100644..100644
@@ -5,7 +5,7 @@
5 5 #name : 'MFTTrainee',
6 6 #superclass : 'MFTObject',
7 7 #instVars : [
8 Removed: 'workoutPlan'
8 Added: 'routine'
9 9 ],
10 10 #category : 'MyFitnessTracker-Core',
11 11 #package : 'MyFitnessTracker-Core'
@@ -15,7 +15,7 @@
15 15 MFTTrainee class >> newDefault [
16 16
17 17 ^ self new
18 Removed: workoutPlan: MFTWorkoutPlan placeholder;
18 Added: routine: MFTRoutine heavyDutyOneIdealRoutine;
19 19 yourself
20 20 ]
21 21
@@ -29,17 +29,17 @@
29 29 MFTTrainee >> initialize [
30 30
31 31 super initialize.
32 Removed: workoutPlan := MFTWorkoutPlan new
32 Added: routine := MFTRoutine new
33 33 ]
34 34
35 35 { #category : 'accessing' }
36 Removed: MFTTrainee >> workoutPlan [
36 Added: MFTTrainee >> routine [
37 37
38 Removed: ^ workoutPlan
38 Added: ^ routine
39 39 ]
40 40
41 41 { #category : 'accessing' }
42 Removed: MFTTrainee >> workoutPlan: aMFTWorkoutPlan [
42 Added: MFTTrainee >> routine: anObject [
43 43
44 Removed: workoutPlan := aMFTWorkoutPlan
44 Added: routine := anObject
45 45 ]
src/MyFitnessTracker-Core/MFTWorkout.class.st
index dd5a7a1c..e83a806d 100644..100644
@@ -5,12 +5,12 @@
5 5 #name : 'MFTWorkout',
6 6 #superclass : 'MFTObject',
7 7 #instVars : [
8 Removed: 'plan',
9 8 'trainee',
10 9 'setGroups',
11 10 'planned',
12 11 'started',
13 Removed: 'completed'
12 Added: 'completed',
13 Added: 'routine'
14 14 ],
15 15 #category : 'MyFitnessTracker-Core',
16 16 #package : 'MyFitnessTracker-Core'
@@ -33,10 +33,27 @@
33 33
34 34 { #category : 'heavyDutyOne' }
35 35 MFTWorkout class >> heavyDutyOneDay2 [
36 Added:
37 Added: ^ self new
38 Added: addSetGroup: (MFTSetGroup withSets: {
39 Added: (MFTSet exercise: MFTExercise latPullover).
40 Added: (MFTSet exercise: MFTExercise closeGripPalmsUpPulldown) });
41 Added: addSet: (MFTSet exercise: MFTExercise bentOverBarbellRows);
42 Added: addSet: (MFTSet exercise: MFTExercise shrug);
43 Added: addSet: (MFTSet exercise: MFTExercise hyperextension);
44 Added: addSet: (MFTSet exercise: MFTExercise bicepCurl)
36 45 ]
37 46
38 47 { #category : 'heavyDutyOne' }
39 48 MFTWorkout class >> heavyDutyOneDay3 [
49 Added:
50 Added: ^ self new
51 Added: addSetGroup: (MFTSetGroup withSets: {
52 Added: (MFTSet exercise: MFTExercise legExtension).
53 Added: (MFTSet exercise: MFTExercise squat) });
54 Added: addSet: (MFTSet exercise: MFTExercise legCurl);
55 Added: addSet: (MFTSet exercise: MFTExercise calfRaise);
56 Added: addSet: (MFTSet exercise: MFTExercise sitUp)
40 57 ]
41 58
42 59 { #category : 'placeholders' }
@@ -102,6 +119,13 @@
102 119 ]
103 120
104 121 { #category : 'adding' }
122 Added: MFTWorkout >> addSet: aMFTSet [
123 Added: "Automatically wrap MFTSet in a MFTSetGroup."
124 Added:
125 Added: setGroups addLast: (MFTSetGroup withSet: aMFTSet)
126 Added: ]
127 Added:
128 Added: { #category : 'adding' }
105 129 MFTWorkout >> addSetGroup: aMFTSetGroup [
106 130
107 131 setGroups addLast: aMFTSetGroup
@@ -115,10 +139,8 @@
115 139
116 140 { #category : 'adding' }
117 141 MFTWorkout >> addSets: aMFTSetCollection [
118 Removed: "Automatically wrap each MFTSet in a MFTSetGroup."
119 142
120 Removed: aMFTSetCollection do: [ :set |
121 Removed: setGroups addLast: (MFTSetGroup withSet: set) ]
143 Added: aMFTSetCollection do: [ :set | self addSet: set ]
122 144 ]
123 145
124 146 { #category : 'testing' }
@@ -198,27 +220,27 @@
198 220 ]
199 221
200 222 { #category : 'accessing' }
201 Removed: MFTWorkout >> plan [
223 Added: MFTWorkout >> planned [
202 224
203 Removed: ^ plan
225 Added: ^ planned
204 226 ]
205 227
206 228 { #category : 'accessing' }
207 Removed: MFTWorkout >> plan: aMFTWorkoutPlan [
229 Added: MFTWorkout >> planned: aDateAndTime [
208 230
209 Removed: plan := aMFTWorkoutPlan
231 Added: planned := aDateAndTime
210 232 ]
211 233
212 234 { #category : 'accessing' }
213 Removed: MFTWorkout >> planned [
235 Added: MFTWorkout >> routine [
214 236
215 Removed: ^ planned
237 Added: ^ routine
216 238 ]
217 239
218 240 { #category : 'accessing' }
219 Removed: MFTWorkout >> planned: aDateAndTime [
241 Added: MFTWorkout >> routine: aMFTWorkoutPlan [
220 242
221 Removed: planned := aDateAndTime
243 Added: routine := aMFTWorkoutPlan
222 244 ]
223 245
224 246 { #category : 'accessing' }
@@ -265,9 +287,10 @@
265 287 { #category : 'accessing' }
266 288 MFTWorkout >> status [
267 289
268 Removed: self isCompleted ifTrue: [ ^ 'completed ' , completed asString ].
269 Removed: self isLive ifTrue: [ ^ 'started ' , started asString ].
270 Removed: self isPlanned ifTrue: [ ^ 'planned ' , planned asString ].
290 Added: self isCompleted ifTrue: [
291 Added: ^ 'completed ' , completed asDate asString ].
292 Added: self isLive ifTrue: [ ^ 'started ' , started asDate asString ].
293 Added: self isPlanned ifTrue: [ ^ 'planned ' , planned asDate asString ].
271 294 ^ 'no status'
272 295 ]
273 296