ok thank you all , its now crystal clear that I need to follow Sven's approach, or maybe do it manually creating a reset method.
On Wed, Jan 20, 2016 at 4:31 PM Dimitris Chloupis <kilon.al...@gmail.com> wrote: > Thank you for the info but I think I did not make myself clear because you > say "remain nil" > > Ok Imagine a class SomeClass and that class has a variable we will call > SomeVariable, class variable that is > , there is no class initialize method, now that class has a method that is > eventually called , > someMethod > > SomeVariable ifNil: [ SomeVariable := 'hello world'] > > so when I decide to update this class via metacello loading the latest > version from github , SomeVariable will have the value 'hello world' > > My question is , will SomeVariable after I do the update revert back to > nil or stay 'hello world' ? > > If your answer is no, and it stays 'hello world' then yes i need an > initialize method and call it at update time. > > On Wed, Jan 20, 2016 at 2:54 PM Sven Van Caekenberghe <s...@stfx.eu> > wrote: > >> They remain nil. >> >> That is why #initialize on the class side is needed. >> >> You can call that explicitly in a post load script, or rely on the class >> loading mechanism that normally calls #initialize automatically when >> loading a class. The warning is: this only happens when the *source* code >> of the #initialize methods changes. So sometimes, you will have to touch >> that method to force it. >> >> I hope that makes sense. >> >> See MCMethodDefinition>>#postloadOver: >> >> > On 20 Jan 2016, at 13:41, Dimitris Chloupis <kilon.al...@gmail.com> >> wrote: >> > >> > So my question is this , I have a class with nil variables that are >> lazy initialised only when needed the first time and of course they keep >> their values from there on. >> > >> > Lets say I get the latest update from github via metacello over an >> older update that I already have inside the image , do those variables >> revert back to nil values ? or do they keep their values as they are ? >> >> >>