From bff3061210c04940985010bf6502005f70957fa9 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Wed, 18 Mar 2020 04:25:48 -0700 Subject: [PATCH] Added take [skip ci] --- lib/searchkick/relation.rb | 4 ++++ test/relation_test.rb | 8 ++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/lib/searchkick/relation.rb b/lib/searchkick/relation.rb index 955095c..6f2d63b 100644 --- a/lib/searchkick/relation.rb +++ b/lib/searchkick/relation.rb @@ -114,6 +114,10 @@ module Searchkick self end + def take(limit = nil) + limit ? first(limit) : first + end + # TODO make more efficient if loaded def pluck(*fields) result = load(false) diff --git a/test/relation_test.rb b/test/relation_test.rb index 847461b..6b64b5f 100644 --- a/test/relation_test.rb +++ b/test/relation_test.rb @@ -52,6 +52,14 @@ class RelationTest < Minitest::Test assert Product.search.pluck end + def test_take + store_names ["Blue", "Red"] + assert_kind_of Product, Product.take + assert_kind_of Product, Product.search.take if defined?(ActiveRecord) + assert_equal 1, Product.take(1).size + assert_equal 1, Product.search.take(1).size if defined?(ActiveRecord) + end + def test_parameters skip unless defined?(ActiveRecord) require "action_controller" -- libgit2 0.21.0