From b85f4aea93421e3b0eaf1cebe647165cd2e85ac1 Mon Sep 17 00:00:00 2001 From: Markus Benning Date: Mon, 5 Aug 2019 12:27:14 +0200 Subject: [PATCH] Delay adding helper method to on_load Autoloading within initilizers is deprecated in rails 6.0. Adding helper method to ActionController::Base during initialization will trigger autoloading it. This delays adding the helper methods using an on_load() hook for all rails version >= 6. --- lib/rails-jquery-autocomplete.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/rails-jquery-autocomplete.rb b/lib/rails-jquery-autocomplete.rb index 905ed1b..5d42d04 100644 --- a/lib/rails-jquery-autocomplete.rb +++ b/lib/rails-jquery-autocomplete.rb @@ -10,8 +10,15 @@ module RailsJQueryAutocomplete end end -class ActionController::Base - include RailsJQueryAutocomplete::Autocomplete +if Rails::VERSION::MAJOR >= 6 + ActiveSupport.on_load(:action_controller_base) do + ActionController::Base.send( + :include, + RailsJQueryAutocomplete::Autocomplete + ) + end +else + ActionController::Base.send(:include, RailsJQueryAutocomplete::Autocomplete) end require 'rails-jquery-autocomplete/formtastic'