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

instance(args = nil)
Alias for: record
instance_stack(args = nil)
Alias for: stack
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_deps_stack(args = nil)
saved_deps_stack_record(args = nil)
saved_instance(args = nil)
Alias for: saved_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