module Shoulda::InstanceMethods

def get_instance_of(object_or_klass) # :nodoc:

:nodoc:
def get_instance_of(object_or_klass) # :nodoc:
  if object_or_klass.is_a?(Class)
    klass = object_or_klass
    ivar = "@#{instance_variable_name_for(klass)}"
    if instance = instance_variable_get(ivar)
      warn "[WARNING] Using #{ivar} as the subject. Future versions " <<
           "of Shoulda will require an explicit subject using the " <<
           "subject class method. Add this after your setup to avoid " <<
           "this warning: subject { #{ivar} }"
      instance
    else
      klass.new
    end
  else
    object_or_klass
  end
end