Module: Manufactory::DataMapperExtensions

Includes:
ManufactoryMixin
Defined in:
lib/manufactory/adapters/datamapper.rb

Instance Method Summary collapse

Methods included from Blueprints

#blueprint, #blueprints

Instance Method Details

#make(name = :default, attributes = Hash.new, &block) ⇒ Object

Post.make Post.make(:named) Post.make(first_name: “Jakub”) Post.make(named, first_name: “Jakub”) Post.make(named, first_name: “Jakub”) do

self.whatever = whatever

end



68
69
70
71
72
73
74
75
# File 'lib/manufactory/adapters/datamapper.rb', line 68

def make(name = :default, attributes = Hash.new, &block)
  instance = super(DataMapperAdapter, name, attributes, &block)
  unless Manufactory.nerfed?
    instance.save || raise("Save failed: #{instance.errors.full_messages.join(", ")}")
    instance.reload
  end
  return instance
end

#make_unsaved(*args) {|object| ... } ⇒ Object

Yields:

  • (object)


77
78
79
80
81
# File 'lib/manufactory/adapters/datamapper.rb', line 77

def make_unsaved(*args)
  object = Manufactory.with_save_nerfed { make(*args) }
  yield object if block_given?
  object
end

#plan(*args) ⇒ Object



83
84
85
86
87
# File 'lib/manufactory/adapters/datamapper.rb', line 83

def plan(*args)
  adapter = Manufactory::DataMapperAdapter.new(self, *args)
  dsl = DSL.new(adapter, object, blueprint).run
  Manufactory::DataMapperAdapter.assigned_attributes_without_associations(dsl)
end