> First question is, why do anything at all ?
>
>   STON toStringPretty: <your game collector object>
>
> Then loading is as simple as
>
>   STON fromString: '...'

I know :)
Now I wanted to overuse STON to be able to edit manually the file too.


> Next step is to customise how STON output is generated (but again, why ?).
>
> You do that by writing both an #stonOn: and a #fromSton: method (look for 
> implementors for examples).
>
> If you really want, you could get something like:
>
> GameCollector [
> GameItem {
> #name : 'Final Fantasy X',
> #console : #PS2,
> #hasDocumentation : false,
> #hasBox : true,
> #finished : true,
> #condition : 'Good',
> #quotation : 10,
> #critics : 18,
> #comments : 'quite cool in fact'
> },
> GameItem {
> #name : 'Final Fantasy XII',
> #console : '',
> #hasDocumentation : true,
> #hasBox : false,
> #finished : false,
> #condition : 'Good',
> #quotation : 10,
> #critics : 15,
> #comments : ''
> }
> ]
>
> to work.
>
> Something like (untested):
>
> GameCollector>>stonOn: stonWriter
>         stonWriter writeObject: self do: [
>                 stonWriter encodeList: self items ]
>
> GameCollector class>>fromSton: stonReader
>         | collector |
>         collector := self new.
>         stonReader parseListDo: [ :each |
>                 collector addGameItem: each ].
>         ^ collector

Thanks this is what I was looking for. :)

Reply via email to