2016-02-14 2 views
1

Можно ли определить, какая группа была использована для загрузки определенной базовой линии из postLoadDoIt: в 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' 

он будет выполнен.

Так можно определить группу как-то от spec или loader?

ответ

1

Не по умолчанию. Можно определить разные группы, которые приводят к той же комбинации загружаемых пакетов, и сама Metacello не записывает, какие группы были фактически загружены. Если вы хотите знать, что можете, конечно, переопределить поведение по умолчанию для записи.

+0

В последнее время изменился Дейл? –

Смежные вопросы