Машинист для неактивных моделей записей - PullRequest
2 голосов
/ 09 августа 2010

Можно ли использовать Machinist для создания чертежей для неактивных моделей записи?Кажется, генерирует ошибку, независимо от того, что я пытаюсь!

Если это невозможно с Machinist, есть ли другой прибор, генерирующий гем, который может это сделать?Я также читал, что у Factory Girl есть проблемы с этим.

Ответы [ 2 ]

4 голосов
/ 29 марта 2011

Я немного изучил бета-версию Machinist 2, и похоже, что она поддерживает обычные объекты ruby. Вот что я сделал, чтобы заставить это работать. Рад узнать о любых более простых решениях.

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
0 голосов
/ 04 апреля 2013

Если кому-то интересно, одна из проблем (может быть и других) с FactoryGirl и PORO заключается в том, что она не обрабатывает конструкторы с аргументами. Вы можете сделать за ответ здесь .

...