[Pharo] Personal fitness tracker web app.
Refa ctor MFTWorkoutPlan into MFTRoutine.
Changed files
src/MyFitnessTracker-Core/MFTRoutine.class.st
@@ -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
@@ -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:
]