From 9a5a04e449b1dcf72aa45cbbdd6dfe83622175ec Mon Sep 17 00:00:00 2001 From: Jeremy Mickelson Date: Tue, 5 May 2015 13:59:22 -0600 Subject: [PATCH] Add a couple relation.clone statements to get around the new adequate record modified relation warnings --- lib/protector/adapters/active_record/relation.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/protector/adapters/active_record/relation.rb b/lib/protector/adapters/active_record/relation.rb index 06dc6e5..a188a01 100644 --- a/lib/protector/adapters/active_record/relation.rb +++ b/lib/protector/adapters/active_record/relation.rb @@ -139,6 +139,7 @@ def exec_queries_with_protector(*args) # Preserve associations from internal loading. We are going to handle that # ourselves respecting security scopes FTW! + relation = relation.clone associations, relation.preload_values = relation.preload_values, [] @records = relation.send(:exec_queries).each { |record| record.restrict!(subject) } @@ -179,6 +180,7 @@ def protector_substitute_includes(subject, relation) end end else + relation = relation.clone relation.preload_values += includes_values relation.includes_values = [] end