lib/pickle/adapter.rb in pickle-0.5.0 vs lib/pickle/adapter.rb in pickle-0.5.1

- old
+ new

@@ -68,11 +68,11 @@ end def find_all_models(klass, conditions) klass.const_get(:PickleAdapter).find_all_models(klass, conditions) end - + def create_model(klass, attributes) klass.const_get(:PickleAdapter).create_model(klass, attributes) end end @@ -102,29 +102,41 @@ # factory-girl adapter class FactoryGirl < Adapter def self.factories if defined? ::FactoryGirl factories = [] - ::FactoryGirl.factories.each {|v| factories << new(v)} + ::FactoryGirl.factories.each do |factory| + factory.names.each do |name| + factories << new(factory, name) + end + end factories else (::Factory.factories.values rescue []).map {|factory| new(factory)} end end - def initialize(factory) + def initialize(factory, factory_name) if defined? ::FactoryGirl - @klass, @name = factory.build_class, factory.name.to_s + @klass, @name = factory.build_class, factory_name.to_s else @klass, @name = factory.build_class, factory.factory_name.to_s end end def create(attrs = {}) if defined? ::FactoryGirl ::FactoryGirl.create(@name, attrs) else Factory(@name, attrs) + end + end + + def build(attrs = {}) + if defined? ::FactoryGirl + ::FactoryGirl.build(@name, attrs) + else + Factory.build(@name, attrs) end end end # fabrication adapter