Class: ActiveRecord::Associations::Builder::HasOne
Overview
Constant Summary
Constants inherited
from Association
Association::VALID_OPTIONS
Class Method Summary
collapse
define_accessors, define_constructors
Methods inherited from Association
build, build_scope, check_dependent_options, create_reflection, define_accessors, define_callbacks, define_extensions, define_readers, define_writers, validate_options, wrap_scope
Class Method Details
.add_destroy_callbacks(model, reflection) ⇒ Object
19
20
21
|
# File 'lib/active_record/associations/builder/has_one.rb', line 19
def self.add_destroy_callbacks(model, reflection)
super unless reflection.options[:through]
end
|
.define_validations(model, reflection) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/active_record/associations/builder/has_one.rb', line 23
def self.define_validations(model, reflection)
super
if reflection.options[:required]
model.validates_presence_of reflection.name, message: :required
end
end
|
.macro ⇒ Object
5
6
7
|
# File 'lib/active_record/associations/builder/has_one.rb', line 5
def self.macro
:has_one
end
|
.valid_dependent_options ⇒ Object
15
16
17
|
# File 'lib/active_record/associations/builder/has_one.rb', line 15
def self.valid_dependent_options
[:destroy, :delete, :nullify, :restrict_with_error, :restrict_with_exception]
end
|
.valid_options(options) ⇒ Object
9
10
11
12
13
|
# File 'lib/active_record/associations/builder/has_one.rb', line 9
def self.valid_options(options)
valid = super + [:as]
valid += [:through, :source, :source_type] if options[:through]
valid
end
|