Holonica/Apps/Holonica/HlPerson.class.st

85 lines
1.5 KiB
Smalltalk

Class {
#name : #HlPerson,
#superclass : #Object,
#instVars : [
'givenName',
'familyName',
'email'
],
#category : #Holonica
}
{ #category : #accessing }
HlPerson class >> fromListName [
]
{ #category : #initialization }
HlPerson class >> fromListName: aString [
| allNames names |
allNames := aString substrings
collect: [:each | each first asString, each allButFirst asLowercase ].
allNames size >= 3
ifFalse: [
^ self new
givenName: allNames second;
familyName: allNames first.
].
names := '' writeStream.
(allNames copyFrom: 3 to: allNames size) do: [:each |
names nextPutAll: each, ' '.
].
^ self new
familyName: allNames first, ' ', allNames second;
givenName: names contents trimmed
]
{ #category : #accessing }
HlPerson >> asSubtiddler: aString [
^ Tiddler new
title: self givenName, ' ', self familyName, '/', aString.
]
{ #category : #accessing }
HlPerson >> email [
^ email
]
{ #category : #accessing }
HlPerson >> email: anObject [
email := anObject
]
{ #category : #accessing }
HlPerson >> familyName [
^ familyName
]
{ #category : #accessing }
HlPerson >> familyName: anObject [
familyName := anObject
]
{ #category : #accessing }
HlPerson >> givenName [
^ givenName
]
{ #category : #accessing }
HlPerson >> givenName: anObject [
givenName := anObject
]
{ #category : #accessing }
HlPerson >> printOn: aStream [
super printOn: aStream.
aStream nextPutAll: '( ', self givenName, ' ', self familyName, ' )'
]