class MR::Factory::RecordFactory
Attributes
config[R]
record_class[R]
Public Class Methods
new(record_class, &block)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 13 def initialize(record_class, &block) @record_class = record_class @config = Config.new(record_class) self.instance_eval(&block) if block end
Public Instance Methods
record(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 19 def record(args = nil) @record_class.new.tap do |record| self.config.apply_args(record, args || {}) end end
Also aliased as: instance
saved_dependencies_stack(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 50 def saved_dependencies_stack(args = nil) self.stack(args).tap(&:create_deps) end
Also aliased as: saved_deps_stack
saved_dependencies_stack_record(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 55 def saved_dependencies_stack_record(args = nil) self.saved_deps_stack(args).record end
Also aliased as: saved_deps_stack_record
saved_record(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 26 def saved_record(args = nil) record = self.record(args).tap(&:save!) record.reset_save_called if record.kind_of?(MR::FakeRecord) record end
Also aliased as: saved_instance
saved_stack(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 42 def saved_stack(args = nil) self.stack(args).tap(&:create) end
saved_stack_record(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 46 def saved_stack_record(args = nil) self.saved_stack(args).record end
stack(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 33 def stack(args = nil) MR::Factory::RecordStack.for_record(self.record(args), self.config) end
Also aliased as: instance_stack
stack_record(args = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 38 def stack_record(args = nil) self.stack(args).record end
Private Instance Methods
default_args(&block)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 68 def default_args(&block) self.config.set_default_args(&block) end
default_association(association_name, factory, options = nil)
click to toggle source
# File lib/mr/factory/record_factory.rb, line 62 def default_association(association_name, factory, options = nil) self.config.add_association_factory(association_name, factory, options) rescue NoAssociationError => exception raise exception.class, exception.message, caller end