From e8388983c7af9dd8a0d6552e38203a396ef8f626 Mon Sep 17 00:00:00 2001 From: Petrik Date: Sat, 20 Jun 2026 21:56:43 +0200 Subject: [PATCH 1/4] Update bundler dev dependency for newer Ruby versions --- searchlight.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/searchlight.gemspec b/searchlight.gemspec index db9bd65..84aaea3 100644 --- a/searchlight.gemspec +++ b/searchlight.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_development_dependency "rspec", "~> 3.2" - spec.add_development_dependency "bundler", "~> 1.3" + spec.add_development_dependency "bundler", ">= 2.0" spec.add_development_dependency "rake" spec.add_development_dependency "capybara", "~> 2.4" From a790c105f06542a976fca9b15220e0f057ca6840 Mon Sep 17 00:00:00 2001 From: Petrik Date: Sat, 20 Jun 2026 21:57:59 +0200 Subject: [PATCH 2/4] Update Rails development dependency --- searchlight.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/searchlight.gemspec b/searchlight.gemspec index 84aaea3..9b86aaf 100644 --- a/searchlight.gemspec +++ b/searchlight.gemspec @@ -25,6 +25,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency "capybara", "~> 2.4" # To test integration with actionview and activerecord - spec.add_development_dependency "actionview", "~> 4.1" - spec.add_development_dependency "activemodel", "~> 4.1" + spec.add_development_dependency "actionview", "~> 8.1" + spec.add_development_dependency "activemodel", "~> 8.1" end From 1287f0e6ca6b8e9bc84d1320d8225ef2856e6e8f Mon Sep 17 00:00:00 2001 From: Petrik Date: Sat, 20 Jun 2026 21:58:50 +0200 Subject: [PATCH 3/4] Include ::ActiveModel::Conversion on search_class ::ActiveModel::Conversion requires the class_attribute method, which isn't defined on Module: NoMethodError: undefined method 'class_attribute' for module Searchlight::Adapters::ActionView By including it on the search_class we fix this error. --- lib/searchlight/adapters/action_view.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/searchlight/adapters/action_view.rb b/lib/searchlight/adapters/action_view.rb index e7387a6..0334df7 100644 --- a/lib/searchlight/adapters/action_view.rb +++ b/lib/searchlight/adapters/action_view.rb @@ -6,9 +6,9 @@ module Searchlight module Adapters module ActionView - include ::ActiveModel::Conversion def self.included(search_class) + search_class.include ::ActiveModel::Conversion search_class.extend ::ActiveModel::Naming end From ae445cd01cb750eaf3ae41fcd59fd1ece1f1035e Mon Sep 17 00:00:00 2001 From: Petrik Date: Sat, 20 Jun 2026 22:01:19 +0200 Subject: [PATCH 4/4] Initialize ActionView::Base in test with required arguments The ActionView::Base requires arguments for initializing in newer Rails versions: ArgumentError: wrong number of arguments (given 0, expected 3) Initialize it with with_empty_template_cache and with_view_paths just as Rails does it: https://github.com/rails/rails/blob/725c0a5812a61f84b44e352d2c9fc5c833471938/actionview/test/template/translation_helper_test.rb#L42-L44 --- spec/searchlight/adapters/action_view_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/searchlight/adapters/action_view_spec.rb b/spec/searchlight/adapters/action_view_spec.rb index b9c11fc..c75bf38 100644 --- a/spec/searchlight/adapters/action_view_spec.rb +++ b/spec/searchlight/adapters/action_view_spec.rb @@ -2,7 +2,7 @@ describe "Searchlight::Adapters::ActionView", type: :feature do - let(:view) { ::ActionView::Base.new } + let(:view) { ::ActionView::Base.with_empty_template_cache.with_view_paths(nil, {}) } let(:search) { BookSearch.new("title_like" => "Love Among the Chickens") } before :all do