class Fabricate
Public Class Methods
attributes_for(name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 14 def self.attributes_for(name, overrides = {}, &block) fail_if_initializing(name) schematic(name).to_attributes(overrides, &block) end
attributes_for_times(count, name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 10 def self.attributes_for_times(count, name, overrides = {}, &block) Array.new(count).map { Fabricate.attributes_for(name, overrides, &block) } end
build(name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 24 def self.build(name, overrides = {}, &block) fail_if_initializing(name) schematic(name).build(overrides, &block).tap do |object| Fabrication::Config.notifiers.each do |notifier| notifier.call(name, object) end end end
build_times(count, name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 6 def self.build_times(count, name, overrides = {}, &block) Array.new(count).map { Fabricate.build(name, overrides, &block) } end
create(name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 33 def self.create(name, overrides = {}, &block) fail_if_initializing(name) schematic(name).fabricate(overrides, &block).tap do |object| Fabrication::Config.notifiers.each do |notifier| notifier.call(name, object) end end end
fail_if_initializing(name)
click to toggle source
# File lib/fabricate.rb, line 51 def self.fail_if_initializing(name) raise Fabrication::MisplacedFabricateError, name if Fabrication.manager.initializing? end
schematic(name)
click to toggle source
# File lib/fabricate.rb, line 46 def self.schematic(name) Fabrication.manager.load_definitions if Fabrication.manager.empty? Fabrication.manager[name] || raise(Fabrication::UnknownFabricatorError, name) end
sequence(name = Fabrication::Sequencer::DEFAULT, start = nil, &block)
click to toggle source
# File lib/fabricate.rb, line 42 def self.sequence(name = Fabrication::Sequencer::DEFAULT, start = nil, &block) Fabrication::Sequencer.sequence(name, start, &block) end
times(count, name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 2 def self.times(count, name, overrides = {}, &block) Array.new(count).map { Fabricate(name, overrides, &block) } end
to_params(name, overrides = {}, &block)
click to toggle source
# File lib/fabricate.rb, line 19 def self.to_params(name, overrides = {}, &block) fail_if_initializing(name) schematic(name).to_params(overrides, &block) end