class ActiveRecord::Associations::Builder::SingularAssociation

:nodoc:

def constructable?

def constructable?
  true
end

def define_accessors

def define_accessors
  super
  define_constructors if constructable?
end

def define_constructors

def define_constructors
  mixin.class_eval <<-CODE, __FILE__, __LINE__ + 1
    def build_#{name}(*args, &block)
      association(:#{name}).build(*args, &block)
    end
    def create_#{name}(*args, &block)
      association(:#{name}).create(*args, &block)
    end
    def create_#{name}!(*args, &block)
      association(:#{name}).create!(*args, &block)
    end
  CODE
end

def valid_options

:nodoc:
def valid_options
  super + [:remote, :dependent, :counter_cache, :primary_key, :inverse_of]
end