Holonica/Apps/Holonica/HlPerson.class.st

85 lines
1.5 KiB
Smalltalk
Raw Normal View History

2022-04-28 16:56:54 +00:00
Class {
#name : #HlPerson,
#superclass : #Object,
#instVars : [
'givenName',
'familyName',
2022-04-28 22:54:26 +00:00
'email'
2022-04-28 16:56:54 +00:00
],
#category : #Holonica
}
{ #category : #accessing }
HlPerson class >> fromListName [
]
2022-04-28 20:05:45 +00:00
{ #category : #initialization }
2022-04-28 16:56:54 +00:00
HlPerson class >> fromListName: aString [
2022-04-28 20:05:45 +00:00
| allNames names |
2022-04-28 16:56:54 +00:00
allNames := aString substrings
collect: [:each | each first asString, each allButFirst asLowercase ].
2022-04-28 20:05:45 +00:00
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
2022-04-28 16:56:54 +00:00
]
2022-05-17 19:09:59 +00:00
{ #category : #accessing }
HlPerson >> asSubtiddler: aString [
^ Tiddler new
title: self givenName, ' ', self familyName, '/', aString.
]
2022-04-28 16:56:54 +00:00
{ #category : #accessing }
2022-04-28 22:54:26 +00:00
HlPerson >> email [
2022-04-28 16:56:54 +00:00
2022-04-28 22:54:26 +00:00
^ email
2022-04-28 16:56:54 +00:00
]
{ #category : #accessing }
2022-04-28 22:54:26 +00:00
HlPerson >> email: anObject [
2022-04-28 16:56:54 +00:00
2022-04-28 22:54:26 +00:00
email := anObject
2022-04-28 16:56:54 +00:00
]
{ #category : #accessing }
2022-04-28 22:54:26 +00:00
HlPerson >> familyName [
2022-04-28 16:56:54 +00:00
2022-04-28 22:54:26 +00:00
^ familyName
2022-04-28 16:56:54 +00:00
]
{ #category : #accessing }
2022-04-28 22:54:26 +00:00
HlPerson >> familyName: anObject [
2022-04-28 16:56:54 +00:00
2022-04-28 22:54:26 +00:00
familyName := anObject
2022-04-28 16:56:54 +00:00
]
{ #category : #accessing }
2022-04-28 22:54:26 +00:00
HlPerson >> givenName [
2022-04-28 16:56:54 +00:00
2022-04-28 22:54:26 +00:00
^ givenName
2022-04-28 16:56:54 +00:00
]
{ #category : #accessing }
2022-04-28 22:54:26 +00:00
HlPerson >> givenName: anObject [
2022-04-28 16:56:54 +00:00
2022-04-28 22:54:26 +00:00
givenName := anObject
2022-04-28 16:56:54 +00:00
]
2022-05-03 03:39:26 +00:00
{ #category : #accessing }
HlPerson >> printOn: aStream [
super printOn: aStream.
aStream nextPutAll: '( ', self givenName, ' ', self familyName, ' )'
]