2016-08-24 2 views
0

Ich versuche, das folgende als benutzerdefinierte Ressource (verallgemeinerte) zu tun:Wie kann ich eine benutzerdefinierte Ressource (12.5) aufrufen und eine Aktion von einer anderen aufrufen und die Reihenfolge beibehalten?

action :a do 
    resource 'foo' do 

    end 

    action_b 

    resource 'bar' do 

    end 
end 

action :b do 

    resource 'xyz' do 

    end 
end 

Wo will ich auslösen Aktion ‚b‘ in der Mitte zu tun, andere Arbeit zu tun ist ‚ein‘. Was ich erwarten würde ist, dass die Standardaktion für 'xyz' zwischen der Ausführung der Standardaktion für die 'foo' und 'bar' Ressourcen auftreten würde. Tatsächlich tritt jedoch die Ausführung der Ressource 'xyz' zuerst auf.

Ich vermute, das hat wahrscheinlich etwas mit Compile-Time vs Laufzeit-Shenanigans zu tun (da dies die meisten meiner Probleme in Chef verursacht), aber ich weiß nicht genug über den Lebenszyklus von benutzerdefinierten Ressourcen um die Ausführungsreihenfolge zu behalten, möchte ich.

Die Frage ist also ... wie kann ich das so strukturieren, dass die Aktion 'b' in der richtigen Reihenfolge ausgeführt wird?

Antwort

0

Dies wird nicht wirklich unterstützt, setzen Sie das Zeug in die Aktion b in einer anderen Hilfsmethode und rufen Sie es aus beiden Aktionen.

+0

Wenn Sie ein Beispiel hinzufügen könnten, wie das aussehen könnte, würde ich dies als die Antwort markieren. – habelson

Verwandte Themen