Машинист для неактивных моделей записей
Можно ли использовать Machinist для создания чертежей для неактивных моделей записей? Кажется, выдает ошибку, независимо от того, что я пытаюсь!
Если это невозможно с Машинистом, есть ли другой прибор, генерирующий драгоценный камень, который может это сделать? Я также читал, что у Factory Girl есть проблемы с этим.
2 ответа
Я немного изучил бета-версию Machinist 2, и похоже, что она поддерживает обычные рубиновые объекты. Вот что я сделал, чтобы заставить это работать. Рад узнать о любых более простых решениях.
require 'rubygems'
require 'machinist'
require 'faker'
class YourObject
attr_accessor :field1, :field2
end
# For all Objects
class Object
extend Machinist::Machinable
def self.blueprint_class
Machinist::Blueprint
end
end
# Or just one object
YourObject.send(:extend, Machinist::Machinable)
YourObject.class_eval do
def self.blueprint_class
Machinist::Blueprint
end
end
YourObject.blueprint do
field1 { rand(1000) }
field2 { Faker::Name }
end
obj = YourObject.make
В случае, если кому-то любопытно, одна из проблем (может быть и других) с FactoryGirl и PORO заключается в том, что она не обрабатывает конструкторы с аргументами. Вы можете сделать за ответ здесь.