aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2013-10-08 11:31:05 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2013-10-08 11:31:05 -0700
commitebe4f80512f5c13accf1885759ac2a38723b1c3d (patch)
treef76a3105cf87e19ef403f0c3e71c004fffcf4430 /activerecord/lib
parent84499eb4bd2e5fe686199c122194b72040411d04 (diff)
downloadrails-ebe4f80512f5c13accf1885759ac2a38723b1c3d.tar.gz
rails-ebe4f80512f5c13accf1885759ac2a38723b1c3d.tar.bz2
rails-ebe4f80512f5c13accf1885759ac2a38723b1c3d.zip
hide join_parts internals from other classes
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/associations/join_dependency.rb23
-rw-r--r--activerecord/lib/active_record/associations/join_dependency/join_association.rb11
2 files changed, 17 insertions, 17 deletions
diff --git a/activerecord/lib/active_record/associations/join_dependency.rb b/activerecord/lib/active_record/associations/join_dependency.rb
index 89812a3826..4c4a0a95ac 100644
--- a/activerecord/lib/active_record/associations/join_dependency.rb
+++ b/activerecord/lib/active_record/associations/join_dependency.rb
@@ -41,7 +41,7 @@ module ActiveRecord
def graft(*associations)
associations.each do |association|
join_associations.detect {|a| association == a} ||
- build(association.reflection.name, association.find_parent_in(self) || join_base, association.join_type)
+ build(association.reflection.name, find_parent_part(association.parent) || join_base, association.join_type)
end
self
end
@@ -50,10 +50,6 @@ module ActiveRecord
join_parts.drop 1
end
- def join_base
- join_parts.first
- end
-
def join_relation(relation)
join_associations.inject(relation) do |rel,association|
association.join_relation(rel)
@@ -86,7 +82,22 @@ module ActiveRecord
records
end
- protected
+ private
+
+ def find_parent_part(parent)
+ join_parts.detect do |join_part|
+ case parent
+ when JoinBase
+ parent.base_klass == join_part.base_klass
+ else
+ parent == join_part
+ end
+ end
+ end
+
+ def join_base
+ join_parts.first
+ end
def remove_duplicate_results!(base, records, associations)
case associations
diff --git a/activerecord/lib/active_record/associations/join_dependency/join_association.rb b/activerecord/lib/active_record/associations/join_dependency/join_association.rb
index ef8f5f1eb2..f6a04ef9f1 100644
--- a/activerecord/lib/active_record/associations/join_dependency/join_association.rb
+++ b/activerecord/lib/active_record/associations/join_dependency/join_association.rb
@@ -44,17 +44,6 @@ module ActiveRecord
other.parent == parent
end
- def find_parent_in(other_join_dependency)
- other_join_dependency.join_parts.detect do |join_part|
- case parent
- when JoinBase
- parent.base_klass == join_part.base_klass
- else
- parent == join_part
- end
- end
- end
-
def join_constraints
joins = []
tables = @tables.dup