从postLoadDoIt确定加载的组:

时间:2016-02-14 10:54:18

标签: smalltalk pharo metacello

是否有可能确定用于从Metacello中的postLoadDoIt:加载特定基线的组?

例如:

BaselineOfProject>>baseline: spec
    <baseline>
    ...
    spec group: 'default' with: #(...).
    spec group: 'complete' with: #(...).
    spec postLoadDoIt: #postLoad:spec:.

BaselineOfProject>>postLoad: loader spec: spec
    "spec or loader something something" = 'complete' ifFalse: [ ^ self ].
    do something.

所以如果项目然后加载为

Metacello new
    baseline: #Project;
    repository: '...';
    load

#postLoadDoIt未执行(或者更确切地说,此后很快就会返回),但如果我这样做了

Metacello new
    baseline: #Project;
    repository: '...';
    load: 'complete'

它将被执行。

那么可以从specloader以某种方式确定群组吗?

1 个答案:

答案 0 :(得分:1)

默认不是。可以定义导致加载的包的相同组合的不同组,并且Metacello本身不记录实际加载的组。如果您想知道您当然可以覆盖要记录的默认行为。