Reintroduce MFTExercise class factory methods.

Commit
b8405c8fa79bd84f10570823898ac1d5af057ef1
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
src/MyFitnessTracker-Core/MFTExercise.class.st
index b7c7fb03..eda631d3 100644..100644
@@ -11,13 +11,175 @@
11 11 #name : 'MFTExercise',
12 12 #superclass : 'MFTObject',
13 13 #instVars : [
14 Removed: 'primaryMuscleGroupId',
15 14 'englishName',
16 Removed: 'frenchName'
15 Added: 'frenchName',
16 Added: 'primaryMuscle',
17 Added: 'secondaryMuscles'
17 18 ],
18 19 #category : 'MyFitnessTracker-Core',
19 20 #package : 'MyFitnessTracker-Core'
20 21 }
22 Added:
23 Added: { #category : 'benchmarking' }
24 Added: MFTExercise class >> benchPress [
25 Added:
26 Added: ^ self newWithEnglishName
27 Added: primaryMuscle: MFTMuscle pectoralisMajor;
28 Added: secondaryMuscles: {
29 Added: MFTMuscle tricepsBrachii.
30 Added: MFTMuscleGroup shoulder };
31 Added: yourself
32 Added: ]
33 Added:
34 Added: { #category : 'benchmarking' }
35 Added: MFTExercise class >> bicepCurl [
36 Added:
37 Added: ^ self newWithEnglishName
38 Added: primaryMuscle: MFTMuscle bicepsBrachii;
39 Added: secondaryMuscles: { MFTMuscleGroup forearm };
40 Added: yourself
41 Added: ]
42 Added:
43 Added: { #category : 'benchmarking' }
44 Added: MFTExercise class >> cableRow [
45 Added:
46 Added: ^ self newWithEnglishName
47 Added: primaryMuscle: MFTMuscleGroup back;
48 Added: secondaryMuscles: MFTMuscle bicepsBrachii;
49 Added: yourself
50 Added: ]
51 Added:
52 Added: { #category : 'benchmarking' }
53 Added: MFTExercise class >> cleanAndJerk [
54 Added:
55 Added: ^ self newWithEnglishName
56 Added: primaryMuscle: MFTMuscle quadricepsFemoris;
57 Added: secondaryMuscles: {
58 Added: MFTMuscleGroup shoulder.
59 Added: MFTMuscle trapezius };
60 Added: yourself
61 Added: ]
62 Added:
63 Added: { #category : 'benchmarking' }
64 Added: MFTExercise class >> deadlift [
65 Added:
66 Added: ^ self newWithEnglishName
67 Added: primaryMuscle: MFTMuscle hamstring;
68 Added: secondaryMuscles: {
69 Added: MFTMuscleGroup back.
70 Added: MFTMuscleGroup hips };
71 Added: yourself
72 Added: ]
73 Added:
74 Added: { #category : 'benchmarking' }
75 Added: MFTExercise class >> declineBenchPress [
76 Added:
77 Added: ^ self newWithEnglishName
78 Added: primaryMuscle: MFTMuscleGroup chest;
79 Added: secondaryMuscles: MFTMuscle tricepsBrachii;
80 Added: yourself
81 Added: ]
82 Added:
83 Added: { #category : 'benchmarking' }
84 Added: MFTExercise class >> gobletSquat [
85 Added:
86 Added: ^ self newWithEnglishName
87 Added: primaryMuscle: MFTMuscleGroup legs;
88 Added: secondaryMuscles: {
89 Added: MFTMuscleGroup abdominal.
90 Added: MFTMuscleGroup back };
91 Added: yourself
92 Added: ]
93 Added:
94 Added: { #category : 'benchmarking' }
95 Added: MFTExercise class >> hammerCurl [
96 Added:
97 Added: ^ self newWithEnglishName
98 Added: primaryMuscle: MFTMuscle bicepsBrachii;
99 Added: secondaryMuscles: { MFTMuscleGroup forearm };
100 Added: yourself
101 Added: ]
102 Added:
103 Added: { #category : 'benchmarking' }
104 Added: MFTExercise class >> latPulldown [
105 Added:
106 Added: ^ self newWithEnglishName
107 Added: primaryMuscle: MFTMuscle latissimusDorsi;
108 Added: secondaryMuscles: {
109 Added: MFTMuscle bicepsBrachii.
110 Added: MFTMuscleGroup shoulder };
111 Added: yourself
112 Added: ]
113 Added:
114 Added: { #category : 'benchmarking' }
115 Added: MFTExercise class >> legCurl [
116 Added:
117 Added: ^ self newWithEnglishName
118 Added: primaryMuscle: MFTMuscleGroup legs;
119 Added: yourself
120 Added: ]
121 Added:
122 Added: { #category : 'benchmarking' }
123 Added: MFTExercise class >> legExtension [
124 Added:
125 Added: ^ self newWithEnglishName
126 Added: primaryMuscle: MFTMuscleGroup legs;
127 Added: yourself
128 Added: ]
129 Added:
130 Added: { #category : 'benchmarking' }
131 Added: MFTExercise class >> newWithEnglishName [
132 Added: "I return a MFTExercise instance for which englishName is set to the calling method selector, as a space-separated string."
133 Added:
134 Added: | exerciseNameFromSender |
135 Added: exerciseNameFromSender := (thisContext sender selector splitCamelCase
136 Added: collect: #asLowercase) joinUsing:
137 Added: Character space.
138 Added: ^ self new
139 Added: englishName: exerciseNameFromSender;
140 Added: yourself
141 Added: ]
142 Added:
143 Added: { #category : 'benchmarking' }
144 Added: MFTExercise class >> shoulderPressDumbell [
145 Added:
146 Added: ^ self new
147 Added: englishName: 'shoulder press (dumbell)';
148 Added: primaryMuscle: MFTMuscle deltoidAnterior;
149 Added: secondaryMuscles: MFTMuscle deltoidMedial;
150 Added: yourself
151 Added: ]
152 Added:
153 Added: { #category : 'benchmarking' }
154 Added: MFTExercise class >> snatch [
155 Added:
156 Added: ^ self newWithEnglishName
157 Added: primaryMuscle: MFTMuscle quadricepsFemoris;
158 Added: secondaryMuscles: {
159 Added: MFTMuscleGroup shoulder.
160 Added: MFTMuscle trapezius };
161 Added: yourself
162 Added: ]
163 Added:
164 Added: { #category : 'benchmarking' }
165 Added: MFTExercise class >> squat [
166 Added:
167 Added: ^ self newWithEnglishName
168 Added: primaryMuscle: MFTMuscleGroup legs;
169 Added: secondaryMuscles: {
170 Added: MFTMuscleGroup abdominal.
171 Added: MFTMuscleGroup back };
172 Added: yourself
173 Added: ]
174 Added:
175 Added: { #category : 'benchmarking' }
176 Added: MFTExercise class >> tricepExtension [
177 Added:
178 Added: ^ self newWithEnglishName
179 Added: primaryMuscle: MFTMuscle tricepsBrachii;
180 Added: secondaryMuscles: { };
181 Added: yourself
182 Added: ]
21 183
22 184 { #category : 'accessing' }
23 185 MFTExercise >> englishName [