class ActiveRecord::Associations::Builder::SingularAssociation
:nodoc:
:nodoc:
def self.define_accessors(model, reflection)
def self.define_accessors(model, reflection) super mixin = model.generated_association_methods name = reflection.name define_constructors(mixin, name) unless reflection.polymorphic? mixin.class_eval <<-CODE, __FILE__, __LINE__ + 1 def reload_#{name} association(:#{name}).force_reload_reader end def reset_#{name} association(:#{name}).reset end CODE end
def self.define_constructors(mixin, name)
def self.define_constructors(mixin, name) 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 self.valid_options(options)
:nodoc:
def self.valid_options(options) super + [:required, :touch] end