Refa ctor MFTWorkoutPlan into MFTRoutine.

Commit
06d43d593a760185f11fb4027ccb3332c0044e83
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
src/MyFitnessTracker-Core/MFTRoutine.class.st
index 00000000..8f9736a4 000000..100644
@@ -0,0 +1,113 @@
1 Added: "
2 Added: I represent a cyclical sequence of workouts and recovery periods.
3 Added: "
4 Added: Class {
5 Added: #name : 'MFTRoutine',
6 Added: #superclass : 'MFTObject',
7 Added: #instVars : [
8 Added: 'routine',
9 Added: 'trainee'
10 Added: ],
11 Added: #category : 'MyFitnessTracker-Core',
12 Added: #package : 'MyFitnessTracker-Core'
13 Added: }
14 Added:
15 Added: { #category : 'as yet unclassified' }
16 Added: MFTRoutine class >> heavyDutyOneIdealRoutine [
17 Added:
18 Added: ^ self new
19 Added: routine: {
20 Added: MFTWorkout heavyDutyOneDay1.
21 Added: (MFTRest duration: 4 days).
22 Added: MFTWorkout heavyDutyOneDay2.
23 Added: (MFTRest duration: 4 days).
24 Added: MFTWorkout heavyDutyOneDay3.
25 Added: (MFTRest duration: 4 days) };
26 Added: yourself
27 Added: ]
28 Added:
29 Added: { #category : 'as yet unclassified' }
30 Added: MFTRoutine class >> placeholder [
31 Added:
32 Added: ^ self new
33 Added: addWorkouts: {
34 Added: MFTWorkout placeholderForYesterday.
35 Added: MFTWorkout placeholderForToday.
36 Added: MFTWorkout placeholderForTomorrow };
37 Added: yourself
38 Added: ]
39 Added:
40 Added: { #category : 'adding' }
41 Added: MFTRoutine >> addWorkout: aMFTWorkout [
42 Added:
43 Added: routine addLast: aMFTWorkout.
44 Added: aMFTWorkout routine: self
45 Added: ]
46 Added:
47 Added: { #category : 'adding' }
48 Added: MFTRoutine >> addWorkouts: aMFTWorkoutCollection [
49 Added:
50 Added: routine addAll: aMFTWorkoutCollection.
51 Added: aMFTWorkoutCollection do: [ :workout | workout routine: self ]
52 Added: ]
53 Added:
54 Added: { #category : 'initialization' }
55 Added: MFTRoutine >> canonicalName [
56 Added:
57 Added: ^ self workouts size asString , ' workouts'
58 Added: ]
59 Added:
60 Added: { #category : 'as yet unclassified' }
61 Added: MFTRoutine >> completedWorkouts [
62 Added:
63 Added: ^ self workouts select: #isCompleted
64 Added: ]
65 Added:
66 Added: { #category : 'accessing' }
67 Added: MFTRoutine >> initialize [
68 Added:
69 Added: super initialize.
70 Added: routine := OrderedCollection new
71 Added: ]
72 Added:
73 Added: { #category : 'as yet unclassified' }
74 Added: MFTRoutine >> nextPlannedWorkout [
75 Added:
76 Added: ^ (self plannedWorkouts sort: [:a :b | a planned > b planned]) first
77 Added: ]
78 Added:
79 Added: { #category : 'as yet unclassified' }
80 Added: MFTRoutine >> plannedWorkouts [
81 Added:
82 Added: ^ self workouts select: #isPlanned
83 Added: ]
84 Added:
85 Added: { #category : 'accessing' }
86 Added: MFTRoutine >> routine [
87 Added:
88 Added: ^ routine
89 Added: ]
90 Added:
91 Added: { #category : 'accessing' }
92 Added: MFTRoutine >> routine: aMFTWorkoutAndRestCollection [
93 Added:
94 Added: routine := aMFTWorkoutAndRestCollection
95 Added: ]
96 Added:
97 Added: { #category : 'accessing' }
98 Added: MFTRoutine >> trainee [
99 Added:
100 Added: ^ trainee
101 Added: ]
102 Added:
103 Added: { #category : 'accessing' }
104 Added: MFTRoutine >> trainee: aMFTTrainee [
105 Added:
106 Added: trainee := aMFTTrainee
107 Added: ]
108 Added:
109 Added: { #category : 'as yet unclassified' }
110 Added: MFTRoutine >> workouts [
111 Added:
112 Added: ^ self routine select: [ :each | each class = MFTWorkout ]
113 Added: ]
src/MyFitnessTracker-Core/MFTWorkoutPlan.class.st
index e3b5d009..00000000 100644..000000
@@ -1,104 +0,0 @@
1 Removed: "
2 Removed: I represent a collection of workouts.
3 Removed: "
4 Removed: Class {
5 Removed: #name : 'MFTWorkoutPlan',
6 Removed: #superclass : 'MFTObject',
7 Removed: #instVars : [
8 Removed: 'workouts',
9 Removed: 'trainee'
10 Removed: ],
11 Removed: #category : 'MyFitnessTracker-Core',
12 Removed: #package : 'MyFitnessTracker-Core'
13 Removed: }
14 Removed:
15 Removed: { #category : 'as yet unclassified' }
16 Removed: MFTWorkoutPlan class >> heavyDutyOneIdealRoutine [
17 Removed:
18 Removed: ^ self new
19 Removed: addWorkouts: {
20 Removed: MFTWorkout heavyDutyOneDay1.
21 Removed: MFTWorkout heavyDutyOneDay2.
22 Removed: MFTWorkout heavyDutyOneDay3 };
23 Removed: yourself
24 Removed: ]
25 Removed:
26 Removed: { #category : 'as yet unclassified' }
27 Removed: MFTWorkoutPlan class >> placeholder [
28 Removed:
29 Removed: ^ self new
30 Removed: addWorkouts: {
31 Removed: MFTWorkout placeholderForYesterday.
32 Removed: MFTWorkout placeholderForToday.
33 Removed: MFTWorkout placeholderForTomorrow };
34 Removed: yourself
35 Removed: ]
36 Removed:
37 Removed: { #category : 'adding' }
38 Removed: MFTWorkoutPlan >> addWorkout: aMFTWorkout [
39 Removed:
40 Removed: workouts addLast: aMFTWorkout.
41 Removed: aMFTWorkout plan: self
42 Removed: ]
43 Removed:
44 Removed: { #category : 'adding' }
45 Removed: MFTWorkoutPlan >> addWorkouts: aMFTWorkoutCollection [
46 Removed:
47 Removed: workouts addAll: aMFTWorkoutCollection.
48 Removed: aMFTWorkoutCollection do: [ :workout | workout plan: self ]
49 Removed: ]
50 Removed:
51 Removed: { #category : 'initialization' }
52 Removed: MFTWorkoutPlan >> canonicalName [
53 Removed:
54 Removed: ^ workouts size asString , ' workouts'
55 Removed: ]
56 Removed:
57 Removed: { #category : 'as yet unclassified' }
58 Removed: MFTWorkoutPlan >> completedWorkouts [
59 Removed:
60 Removed: ^ workouts select: #isCompleted
61 Removed: ]
62 Removed:
63 Removed: { #category : 'accessing' }
64 Removed: MFTWorkoutPlan >> initialize [
65 Removed:
66 Removed: super initialize.
67 Removed: workouts := OrderedCollection new
68 Removed: ]
69 Removed:
70 Removed: { #category : 'as yet unclassified' }
71 Removed: MFTWorkoutPlan >> nextPlannedWorkout [
72 Removed:
73 Removed: ^ (self plannedWorkouts sort: [:a :b | a planned > b planned]) first
74 Removed: ]
75 Removed:
76 Removed: { #category : 'as yet unclassified' }
77 Removed: MFTWorkoutPlan >> plannedWorkouts [
78 Removed:
79 Removed: ^ workouts select: #isPlanned
80 Removed: ]
81 Removed:
82 Removed: { #category : 'accessing' }
83 Removed: MFTWorkoutPlan >> trainee [
84 Removed:
85 Removed: ^ trainee
86 Removed: ]
87 Removed:
88 Removed: { #category : 'accessing' }
89 Removed: MFTWorkoutPlan >> trainee: aMFTTrainee [
90 Removed:
91 Removed: trainee := aMFTTrainee
92 Removed: ]
93 Removed:
94 Removed: { #category : 'accessing' }
95 Removed: MFTWorkoutPlan >> workouts [
96 Removed:
97 Removed: ^ workouts
98 Removed: ]
99 Removed:
100 Removed: { #category : 'accessing' }
101 Removed: MFTWorkoutPlan >> workouts: aMFTWorkoutCollection [
102 Removed:
103 Removed: workouts := aMFTWorkoutCollection
104 Removed: ]