diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9dcda3e..c0a47af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
## 2.3.1 [unreleased]
- Added support for passing fields to `suggest` option
+- Fixed `page_view_entries` for Kaminari
## 2.3.0
diff --git a/Gemfile b/Gemfile
index e3d4db3..829ee3c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -10,3 +10,7 @@ gem "typhoeus"
gem "activejob"
gem "redis"
gem "connection_pool"
+
+# kaminari
+gem "actionpack"
+gem "kaminari"
diff --git a/lib/searchkick/results.rb b/lib/searchkick/results.rb
index d3e1a7c..8b6b562 100644
--- a/lib/searchkick/results.rb
+++ b/lib/searchkick/results.rb
@@ -127,8 +127,14 @@ module Searchkick
klass.model_name
end
- def entry_name
- model_name.human.downcase
+ def entry_name(options = {})
+ if options.empty?
+ # backward compatibility
+ model_name.human.downcase
+ else
+ default = options[:count] == 1 ? model_name.human : model_name.human.pluralize
+ model_name.human(options.reverse_merge(default: default))
+ end
end
def total_count
diff --git a/test/gemfiles/mongoid6.gemfile b/test/gemfiles/mongoid6.gemfile
index 7c5309d..9e80e2a 100644
--- a/test/gemfiles/mongoid6.gemfile
+++ b/test/gemfiles/mongoid6.gemfile
@@ -6,3 +6,7 @@ gemspec path: "../../"
gem "mongoid", "~> 6.0.0"
gem "activejob"
gem "redis"
+
+# kaminari
+gem "actionpack"
+gem "kaminari"
diff --git a/test/pagination_test.rb b/test/pagination_test.rb
index a9627de..3692acb 100644
--- a/test/pagination_test.rb
+++ b/test/pagination_test.rb
@@ -50,4 +50,21 @@ class PaginationTest < Minitest::Test
assert_equal 1, products.current_page
assert products.first_page?
end
+
+ def test_kaminari
+ skip unless defined?(Kaminari)
+
+ require "action_view"
+
+ I18n.load_path = Dir["test/support/kaminari.yml"]
+ I18n.backend.load_translations
+
+ view = ActionView::Base.new
+
+ store_names ["Product A"]
+ assert_equal "Displaying 1 product", view.page_entries_info(Product.search("product"))
+
+ store_names ["Product B"]
+ assert_equal "Displaying all 2 products", view.page_entries_info(Product.search("product"))
+ end
end
diff --git a/test/support/kaminari.yml b/test/support/kaminari.yml
new file mode 100644
index 0000000..e2a79c6
--- /dev/null
+++ b/test/support/kaminari.yml
@@ -0,0 +1,21 @@
+en:
+ views:
+ pagination:
+ first: "« First"
+ last: "Last »"
+ previous: "‹ Prev"
+ next: "Next ›"
+ truncate: "…"
+ helpers:
+ page_entries_info:
+ entry:
+ zero: "entries"
+ one: "entry"
+ other: "entries"
+ one_page:
+ display_entries:
+ zero: "No %{entry_name} found"
+ one: "Displaying 1 %{entry_name}"
+ other: "Displaying all %{count} %{entry_name}"
+ more_pages:
+ display_entries: "Displaying %{entry_name} %{first} - %{last} of %{total} in total"
--
libgit2 0.21.0