Marcus I have a API design question when you offer options: #(optionOneShot); versus optionOneShot Do you do a perform of the arrays selectors? What is the benefit of options: STef Le 16/9/15 08:52, Marcus Denker a écrit :
Hi,
This is just a one-liner to add to the framework, but that makes it even more fun: One-Shot links.
A link now can have the #optionOneShot, which means that it will de-install itself when activated for the first time:
link := MetaLink new metaObject: self; options: #(optionOneShot); selector: #tagExec.
The full test looks like this:
testLinkOneShot | sendNode link | sendNode := (ReflectivityExamples>>#exampleMethod) sendNodes first. link := MetaLink new metaObject: self; options: #(optionOneShot); selector: #tagExec. sendNode link: link. self assert: sendNode hasMetalink. self assert: tag isNil. self assert: (ReflectivityExamples new exampleMethod = 5). self assert: (tag = #yes). self deny: sendNode hasMetalink. tag := nil. self assert: (ReflectivityExamples new exampleMethod = 5). self assert: tag isNil.
https://pharo.fogbugz.com/f/cases/16581/one-shot-links
Marcus