提交 0cfb1de4 编写于 作者: A Aaron Patterson

add some convenient methods for avoiding array allocations

上级 752a06ea
......@@ -76,17 +76,17 @@ def graft(*associations)
end
def reflections
join_root.drop(1).map(&:reflection)
join_root.drop(1).map!(&:reflection)
end
def join_relation(relation)
join_root.drop(1).inject(relation) do |rel,association|
join_root.inject(relation) do |rel,association|
association.join_relation(rel)
end
end
def join_constraints
join_root.drop(1).flat_map(&:join_constraints)
join_root.flat_map(&:join_constraints)
end
def columns
......
......@@ -29,6 +29,9 @@ def initialize(base_klass, parent)
@children = []
end
def join_constraints; []; end
def join_relation(rel); rel; end
def name
reflection.name
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册