Thanks Sven.
I'm checking the STONWriter path with some tricks.

On Wed, Jun 14, 2017 at 11:06 AM, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> STON cannot be used to write partial, manual output because it needs to see 
> the full object graph (like FUEL does).
>
> If I would want to use STON for prettier looking config files, I would make 
> an object just for that external representation, converting it where 
> necessary to better internal objects (like from String to FileReference).
>
>> On 5 Jun 2017, at 08:58, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
>>
>> Sven I know what Ston is :)
>>
>> Now Pillar dev used Ston as input and it works. Then with some hooks they 
>> let the user convert the strings
>> into specific objects and this is ok.
>> Now I want to add export in Ston and for configurations I need to control 
>> for the application and not as a ston object the value saved.
>> For example a file reference should not be just a file reference in Ston but
>> a string relative the the baseDirectory of the configuration.
>>
>> So I thought that I can build a hook and control the call to Ston (convert 
>> the object before to the correct values) and export.
>> It should be working now doing this I found myself redoing the output of 
>> Ston.
>> So I will do it. Then I thought that may be I could reuse this logic.
>>
>> Stef
>>
>>
>>
>> On Sun, Jun 4, 2017 at 11:49 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote:
>> Stef,
>>
>> STON is like FUEL, it can write any object to a stream and read it back. 
>> Although you can customise how this is done, only one way of doing so is 
>> supported (i.e. you cannot change the format for each application).
>>
>> People have used STON for various applications now, including for 
>> configuration stuff (because it is a textual format that is easy to read).
>>
>> I would suggest you just try to see what your config looks like once you 
>> have the objects in Pharo.
>>
>>   STON toStringPretty: myConfig.
>>
>> Then we can see how to tune the representation.
>>
>> Sven
>>
>> > On 4 Jun 2017, at 22:58, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
>> >
>> > Hi sven
>> >
>> > I'm working on a new configuration frameworks similar to the one use 
>> > pillar.conf.
>> >
>> > So basically I have
>> >
>> > ston := '{
>> >            "newLine":#unix,
>> >               "separateOutputFiles":true
>> >               }'.
>> > and I want to recreate it.
>> >
>> > So I did
>> >
>> > Object >> toConfigurationString
>> >
>> >       ^ STON toString: self
>> >
>> > SimpleConfiguration >> exportStream
>> >
>> >       ^ String streamContents: [ :str |
>> >               str << '{' .
>> >               self propertiesKeysAndValuesDo: [ :key :value|
>> >                       str << key toConfigurationString.
>> >                       str << ':'.
>> >                       str << value toConfigurationString.
>> >                       str << ','.
>> >                       str lf.
>> >                       ].
>> >               str << '}'.
>> >               str contents
>> >               ]
>> >
>> > The idea is that for special configuration values people should be able to 
>> > define
>> > how to go from the object to configuration.
>> > For example for some FileReference I want to have just the path up to the 
>> > baseDirectory.
>> >
>> > Now I wonder if I could not better reuse ston.
>> > I saw the stonOn:
>> > but I did not look further because I was wondering how the writer where 
>> > passed.
>> >
>> > Any feedback is welcome.
>> >
>> > Stef (now bed time).
>> >
>>
>>
>>
>
>

Reply via email to