提交 459e9b29 编写于 作者: P Pratik Naik

Use @limit_value and @offset_value instead of calling arel

上级 8d31c9f3
......@@ -80,7 +80,7 @@ def many?
if block_given?
to_a.many? { |*block_args| yield(*block_args) }
else
arel.send(:taken).present? ? to_a.many? : size > 1
@limit_value.present? ? to_a.many? : size > 1
end
end
......
......@@ -272,15 +272,15 @@ def find_some(ids)
result = where(primary_key.in(ids)).all
expected_size =
if arel.taken && ids.size > arel.taken
arel.taken
if @limit_value && ids.size > @limit_value
@limit_value
else
ids.size
end
# 11 ids with limit 3, offset 9 should give 2 results.
if arel.skipped && (ids.size - arel.skipped < expected_size)
expected_size = ids.size - arel.skipped
if @offset_value && (ids.size - @offset_value < expected_size)
expected_size = ids.size - @offset_value
end
if result.size == expected_size
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册