Esta respuesta es un poco más amplia que su pregunta, pero creo que es la raíz de lo que está tratando de hacer, y será la más fácil y más fácil de mantener.
Creo que lo que realmente está buscando aquí son las fábricas. Intente usar algo como factory_girl, lo que hará que muchas pruebas sean mucho más fáciles.
En primer lugar, se había establecido una fábrica para crear cualquier tipo de objeto que se está probando, y el uso de una secuencia para el atributo de correo electrónico:
FactoryGirl.define do
factory :model do
sequence(:email) {|n| "person#{n}@example.com" }
# include whatever else is required to make your model valid
end
end
Entonces, cuando se necesita atributos válidos, puede utilizar
Factory.attributes_for(:model)
también puede utilizar Factory.create
y Factory.build
para crear guardados y no guardados casos del modelo.
Hay una explicación de muchas más características en el getting started document, así como instrucciones sobre cómo agregar fábricas a su proyecto.
La respuesta corta es no, no existe tal cosa como 'static' en Ruby. ¿Por qué no dejas que la base de datos maneje tu clave de incremento automático? – Emily
Porque es un método para generar atributos válidos para la prueba de Rspec, y algunas cosas deben ser únicas. – Zequez