2011-06-29 7 views
1

J'ai juste besoin d'un hachage d'attributs pour des choses comme la carte de crédit et l'adresse. Exemple:Factory Girl: Comment fabrique-t-on une usine qui n'est pas liée à un modèle?

Factory.define :credit_card, :class => Object do |c| 
    c.first_name "Alice" 
    c.last_name "Liddel" 
    c.month "May" 
    c.year { Time.now.year + 1 } 
    c.number "1234567812345678" 
    c.type "Visa" 
    c.verification_value "123" 
end 

évidemment, objet n'a pas d'attributs, et je ne dispose pas d'un objet credit_cord ... J'ai juste besoin d'un squelette standard de carte de crédit.

Répondre

1

Quel est l'avantage d'utiliser usine fille pour cela? Que diriez-vous d'une méthode d'aide:

def credit_card(attrs = {}) 
    { 
    :first_name => "Alice", 
    ..., 
    :verification_value => "123" 
    }.with_indifferent_access.merge(attrs) 
end 

credit_card :first_name => "Linda" # returns { :first_name => "Linda", :last_name => "Liddel", ... } 
+0

Pour l'uniformité dans la génération de données répétées. Usine (: what_im_making, attrs) – NullVoxPopuli

Questions connexes