Holonica/Apps/Holonica/HlPerson.class.st

73 lines
1.2 KiB
Smalltalk

Class {
#name : #HlPerson,
#superclass : #Object,
#instVars : [
'givenName',
'familyName',
'metadata'
],
#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 >> familyName [
^ familyName
]
{ #category : #accessing }
HlPerson >> familyName: anObject [
familyName := anObject
]
{ #category : #accessing }
HlPerson >> givenName [
^ givenName
]
{ #category : #accessing }
HlPerson >> givenName: anObject [
givenName := anObject
]
{ #category : #accessing }
HlPerson >> metadata [
^ metadata
]
{ #category : #accessing }
HlPerson >> metadata: anObject [
metadata := anObject
]