method
build_scope

v4.2.9 -
Show latest stable
-
0 notes -
Class: Association
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0 (0)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (0)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2
- 7.1.3.4
- What's this?
build_scope()
private
Hide source
# File activerecord/lib/active_record/associations/preloader/association.rb, line 131 def build_scope scope = klass.unscoped values = reflection_scope.values reflection_binds = reflection_scope.bind_values preload_values = preload_scope.values preload_binds = preload_scope.bind_values scope.where_values = Array(values[:where]) + Array(preload_values[:where]) scope.references_values = Array(values[:references]) + Array(preload_values[:references]) scope.bind_values = (reflection_binds + preload_binds) scope._select! preload_values[:select] || values[:select] || table[Arel.star] scope.includes! preload_values[:includes] || values[:includes] scope.joins! preload_values[:joins] || values[:joins] scope.order! preload_values[:order] || values[:order] if preload_values[:reordering] || values[:reordering] scope.reordering_value = true end if preload_values[:readonly] || values[:readonly] scope.readonly! end if options[:as] scope.where!(klass.table_name => { reflection.type => model.base_class.sti_name }) end scope.unscope_values = Array(values[:unscope]) + Array(preload_values[:unscope]) klass.default_scoped.merge(scope) end