class ActiveRecord::Associations::SingularAssociation

:nodoc:

def _create_record(attributes, raise_error = false, &block)

def _create_record(attributes, raise_error = false, &block)
  record = build_record(attributes, &block)
  saved = record.save
  set_new_record(record)
  raise RecordInvalid.new(record) if !saved && raise_error
  record
end

def build(attributes = nil, &block)

def build(attributes = nil, &block)
  record = build_record(attributes, &block)
  set_new_record(record)
  record
end

def find_target

def find_target
  if disable_joins
    scope.first
  else
    super.first
  end
end

def force_reload_reader

Foo.has_one :bar
Implements the reload reader method, e.g. foo.reload_bar for
def force_reload_reader
  reload(true)
  target
end

def reader

Implements the reader method, e.g. foo.bar for Foo.has_one :bar
:nodoc:
def reader
  ensure_klass_exists!
  if !loaded? || stale_target?
    reload
  end
  target
end

def replace(record)

def replace(record)
  raise NotImplementedError, "Subclasses must implement a replace(record) method"
end

def scope_for_create

def scope_for_create
  super.except!(klass.primary_key)
end

def set_new_record(record)

def set_new_record(record)
  replace(record)
end

def writer(record)

Implements the writer method, e.g. foo.bar= for Foo.belongs_to :bar
def writer(record)
  replace(record)
end