Машинист для неактивных моделей записей

Можно ли использовать 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 заключается в том, что она не обрабатывает конструкторы с аргументами. Вы можете сделать за ответ здесь.

Другие вопросы по тегам