mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Make sure the relations are always immutable
This commit is contained in:
parent
187fbe5cba
commit
284d186cf4
1 changed files with 5 additions and 8 deletions
|
@ -12,18 +12,15 @@ module ActiveRecord
|
|||
end
|
||||
|
||||
def preload(associations)
|
||||
@associations_to_preload << associations
|
||||
self
|
||||
create_new_relation(@relation, @readonly, @associations_to_preload + Array.wrap(associations))
|
||||
end
|
||||
|
||||
def eager_load(associations)
|
||||
@eager_load_associations += Array.wrap(associations)
|
||||
self
|
||||
create_new_relation(@relation, @readonly, @associations_to_preload, @eager_load_associations + Array.wrap(associations))
|
||||
end
|
||||
|
||||
def readonly
|
||||
@readonly = true
|
||||
self
|
||||
create_new_relation(@relation, true)
|
||||
end
|
||||
|
||||
def to_a
|
||||
|
@ -124,8 +121,8 @@ module ActiveRecord
|
|||
end
|
||||
end
|
||||
|
||||
def create_new_relation(relation)
|
||||
Relation.new(@klass, relation, @readonly, @associations_to_preload, @eager_load_associations)
|
||||
def create_new_relation(relation, readonly = @readonly, preload = @associations_to_preload, eager_load = @eager_load_associations)
|
||||
Relation.new(@klass, relation, readonly, preload, eager_load)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue