2011-08-23 4 views
3

j'ai un plan:Machinist + RSpec et mots réservés

Model.blueprint(:something) do 
    name "Some name" 
    context "some context" 
end 

« contexte » est un attribut de modèle, mais il est aussi un mot réservé de RSpec. Lorsque j'essaie de créer et d'objecter, j'obtiens ArgumentError sur la ligne "context".

Des idées pour surmonter cette situation?

Répondre

0

Impossible de répliquer cela avec Machinist 2.0.0.beta2.

Machinist fonctionne en remplaçant method_missing? et en affectant des attributs en fonction de ces arguments. Si rspec attribue en quelque sorte une méthode context aux objets de Machinist's Lathe, cette méthode sera appelée avant method_missing?. Si vous rencontrez toujours ce problème, vous pouvez essayer d'utiliser remove_method :context avant les attributs d'évaluation:

Model.blueprint(:something) do 
    remove_method :context 
    name "Some name" 
    context "some context" 
    alias_method :context, :describe 
end 

Je ne peux pas dire si cela fonctionne, comme je ne peux pas reproduire localement, mais je lui donnerais coup.

Questions connexes