" I represent a prescribed workout. " Class { #name : 'MFTWorkoutPrescription', #superclass : 'MFTObject', #instVars : [ 'title', 'setGroups' ], #category : 'MyFitnessTracker-Core-Prescription', #package : 'MyFitnessTracker-Core', #tag : 'Prescription' } { #category : 'heavyDutyOne' } MFTWorkoutPrescription class >> heavyDutyOneDay1 [ ^ self new title: 'Day 1'; prescribe: (MFTPreExhaustSupersetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise dumbbellFly alternativeExercises: { MFTExercise cableCross. MFTExercise pecDeck }) with: (MFTSetPrescription exercise: MFTExercise inclinePress)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise lateralRaise)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise rearDeltFly)); prescribe: (MFTSupersetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise lyingFrenchPress alternativeExercises: { MFTExercise tricepPressdown }) with: (MFTSetPrescription exercise: MFTExercise dip)) ] { #category : 'as yet unclassified' } MFTWorkoutPrescription class >> heavyDutyOneDay2 [ ^ self new title: 'Day 2'; prescribe: (MFTSupersetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise latPullover) with: (MFTSetPrescription exercise: MFTExercise closeGripPalmsUpPulldown)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise bentOverBarbellRows)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise shrug)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise hyperextension)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise bicepCurl)) ] { #category : 'as yet unclassified' } MFTWorkoutPrescription class >> heavyDutyOneDay3 [ ^ self new title: 'Day 3'; prescribe: (MFTSupersetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise legExtension) with: (MFTSetPrescription exercise: MFTExercise barbellSquat alternativeExercises: { MFTExercise legPress })); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise seatedLegCurl)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise calfRaise)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise sitUp)) ] { #category : 'as yet unclassified' } MFTWorkoutPrescription class >> heavyDutyTwoDay1 [ ^ self new title: 'Day 1'; prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise barbellSquat)); prescribe: (MFTStraightSetGroupPrescription with: (MFTSetPrescription exercise: MFTExercise closeGripPalmsUpPulldown)) ] { #category : 'adding' } MFTWorkoutPrescription >> addSetGroup: aMFTSetGroupPrescription [ setGroups addLast: aMFTSetGroupPrescription ] { #category : 'initialization' } MFTWorkoutPrescription >> canonicalName [ ^ title ] { #category : 'initialization' } MFTWorkoutPrescription >> initialize [ super initialize. setGroups := OrderedCollection new ] { #category : 'as yet unclassified' } MFTWorkoutPrescription >> prescribe: aMFTSetGroupPrescription [ self addSetGroup: aMFTSetGroupPrescription ] { #category : 'adding' } MFTWorkoutPrescription >> removeSetGroup: aMFTSetGroupPrescription [ setGroups remove: aMFTSetGroupPrescription ] { #category : 'as yet unclassified' } MFTWorkoutPrescription >> setCount [ ^ self sets size ] { #category : 'initialization' } MFTWorkoutPrescription >> setGroups [ ^ setGroups ] { #category : 'as yet unclassified' } MFTWorkoutPrescription >> setGroups: aMFTSetGroupCollection [ setGroups := aMFTSetGroupCollection asOrderedCollection ] { #category : 'as yet unclassified' } MFTWorkoutPrescription >> sets [ ^ setGroups flatCollect: #sets ] { #category : 'as yet unclassified' } MFTWorkoutPrescription >> title [ ^ title ] { #category : 'as yet unclassified' } MFTWorkoutPrescription >> title: aString [ title := aString ]