[Pharo] Personal fitness tracker web app.
Documentation articles.
Changed files
src/MyFitnessTracker/MFTArticle.class.st
@@ -0,0 +1,20 @@
1
Added:
Class {
2
Added:
#name : #MFTArticle,
3
Added:
#superclass : #SBSComponent,
4
Added:
#instVars : [
5
Added:
'title'
6
Added:
],
7
Added:
#category : #'MyFitnessTracker-Components'
8
Added:
}
9
Added:
10
Added:
{ #category : #accessing }
11
Added:
MFTArticle >> title [
12
Added:
13
Added:
^ title
14
Added:
]
15
Added:
16
Added:
{ #category : #accessing }
17
Added:
MFTArticle >> title: aString [
18
Added:
19
Added:
title := aString
20
Added:
]
src/MyFitnessTracker/MFTDietArticle.class.st
@@ -0,0 +1,5 @@
1
Added:
Class {
2
Added:
#name : #MFTDietArticle,
3
Added:
#superclass : #MFTArticle,
4
Added:
#category : #'MyFitnessTracker-Components'
5
Added:
}
src/MyFitnessTracker/MFTMusclesArticle.class.st
@@ -0,0 +1,31 @@
1
Added:
Class {
2
Added:
#name : #MFTMusclesArticle,
3
Added:
#superclass : #MFTArticle,
4
Added:
#instVars : [
5
Added:
'muscleGroups'
6
Added:
],
7
Added:
#category : #'MyFitnessTracker-Components'
8
Added:
}
9
Added:
10
Added:
{ #category : #initialization }
11
Added:
MFTMusclesArticle >> initialize [
12
Added:
13
Added:
| methods instances |
14
Added:
super initialize.
15
Added:
title := 'Muscles'.
16
Added:
methods := MFTMuscleGroup class methodDictionary values select: [
17
Added:
:method | method category = 'body part creation' ].
18
Added:
instances := methods collect: [ :method |
19
Added:
MFTMuscleGroup perform: method selector ].
20
Added:
muscleGroups := instances sorted: [ :a :b | a name < b name ]
21
Added:
]
22
Added:
23
Added:
{ #category : #rendering }
24
Added:
MFTMusclesArticle >> renderContentOn: html [
25
Added:
26
Added:
html container: [
27
Added:
html heading: title.
28
Added:
muscleGroups do: [ :muscleGroup |
29
Added:
html heading level2 with: muscleGroup name asCapitalizedPhrase.
30
Added:
muscleGroup renderContentOn: html ] ]
31
Added:
]