class Shoulda::Matchers::ActiveRecord::Uniqueness::TestModelCreator
@private
Attributes
Public Class Methods
Source
# File lib/shoulda/matchers/active_record/uniqueness/test_model_creator.rb, line 8 def self.create(model_name, namespace) Mutex.new.synchronize do new(model_name, namespace).create end end
Source
# File lib/shoulda/matchers/active_record/uniqueness/test_model_creator.rb, line 14 def initialize(model_name, namespace) @model_name = model_name @namespace = namespace end
Public Instance Methods
Source
# File lib/shoulda/matchers/active_record/uniqueness/test_model_creator.rb, line 19 def create new_model.tap do |new_model| new_model.symlink_to(existing_model) end end
Private Instance Methods
Source
# File lib/shoulda/matchers/active_record/uniqueness/test_model_creator.rb, line 42 def existing_model @_existing_model ||= model_name.constantize end
Source
# File lib/shoulda/matchers/active_record/uniqueness/test_model_creator.rb, line 31 def model_name_without_namespace model_name.demodulize end
Source
# File lib/shoulda/matchers/active_record/uniqueness/test_model_creator.rb, line 35 def new_model @_new_model ||= Model.next_unique_copy_of( model_name_without_namespace, namespace, ) end