2011-03-02 3 views
1

En utilisant Machinist, est-il possible de définir des plans de sorte qu'ils héritent des attributs d'autres plans? J'ai regardé toute la documentation et les exemples que j'ai trouvés, mais je ne l'ai pas vu se produire.Hériter des attributs dans les plans de Machinist

Je veux faire quelque chose comme ceci:

User.blueprint do 
    name 
    email 
end 

User.blueprint(:admin) do 
    is_admin { true } 
end 

User.blueprint(:editor) do 
    is_editor { true } 
    group 
end 

User.blueprint(:contributor) do 
    is_editor { true } 
end 

où ils ont tous héritent le nom/email du premier plan, et le: plan contibutor hérite de l'attribut de groupe à partir du: plan de l'éditeur.

Est-ce possible?

Répondre

1

Oui, c'est partiellement possible, au moins avec Machinist 1 (je n'ai pas essayé avec Machinist 2). Vous ne pouvez hériter que des attributs du modèle par défaut d'une classe donnée.

Votre syntaxe est correcte, consultez la section «Blocs nommés» dans https://github.com/notahat/machinist/tree/1.0-maintenance mais votre contributeur de plan directeur hérite directement du plan utilisateur par défaut. Vous devez définir manuellement l'attribut de groupe dans votre blueprint contributeur.

La syntaxe permettant de créer un utilisateur admin est User.make(:admin).

+0

Merci! Quand je vérifiais la documentation, je n'ai jamais trouvé ce petit bout sur les bleus nommés – u2622

Questions connexes