Commit bff3061210c04940985010bf6502005f70957fa9
1 parent
d182f8f2
Exists in
relation
Added take [skip ci]
Showing
2 changed files
with
12 additions
and
0 deletions
Show diff stats
lib/searchkick/relation.rb
@@ -114,6 +114,10 @@ module Searchkick | @@ -114,6 +114,10 @@ module Searchkick | ||
114 | self | 114 | self |
115 | end | 115 | end |
116 | 116 | ||
117 | + def take(limit = nil) | ||
118 | + limit ? first(limit) : first | ||
119 | + end | ||
120 | + | ||
117 | # TODO make more efficient if loaded | 121 | # TODO make more efficient if loaded |
118 | def pluck(*fields) | 122 | def pluck(*fields) |
119 | result = load(false) | 123 | result = load(false) |
test/relation_test.rb
@@ -52,6 +52,14 @@ class RelationTest < Minitest::Test | @@ -52,6 +52,14 @@ class RelationTest < Minitest::Test | ||
52 | assert Product.search.pluck | 52 | assert Product.search.pluck |
53 | end | 53 | end |
54 | 54 | ||
55 | + def test_take | ||
56 | + store_names ["Blue", "Red"] | ||
57 | + assert_kind_of Product, Product.take | ||
58 | + assert_kind_of Product, Product.search.take if defined?(ActiveRecord) | ||
59 | + assert_equal 1, Product.take(1).size | ||
60 | + assert_equal 1, Product.search.take(1).size if defined?(ActiveRecord) | ||
61 | + end | ||
62 | + | ||
55 | def test_parameters | 63 | def test_parameters |
56 | skip unless defined?(ActiveRecord) | 64 | skip unless defined?(ActiveRecord) |
57 | require "action_controller" | 65 | require "action_controller" |