66require 'meilisearch/rails/multi_search'
77require 'meilisearch/rails/index_settings'
88require 'meilisearch/rails/safe_index'
9+ require 'meilisearch/rails/model_configuration'
910
1011if defined? Rails
1112 begin
@@ -73,7 +74,7 @@ class << base
7374 alias_method :must_reindex? , :ms_must_reindex? unless method_defined? :must_reindex?
7475 end
7576
76- base . cattr_accessor :meilisearch_options , :meilisearch_settings
77+ base . cattr_accessor :meilisearch_options , :meilisearch_settings , :ms_config
7778 end
7879
7980 def meilisearch ( options = { } , &block )
@@ -83,11 +84,9 @@ def meilisearch(options = {}, &block)
8384 per_page : meilisearch_settings . get_setting ( :hitsPerPage ) || 20 , page : 1
8485 } . merge ( options )
8586
86- attr_accessor :formatted
87+ self . ms_config = ModelConfiguration . new ( model_name . to_s . constantize , options )
8788
88- if options . key? ( :per_environment )
89- raise BadConfiguration , ':per_environment option should be defined globally on MeiliSearch::Rails.configuration block.'
90- end
89+ attr_accessor :formatted
9190
9291 if options [ :synchronous ] == true
9392 if defined? ( ::Sequel ::Model ) && self < Sequel ::Model
@@ -104,8 +103,6 @@ def meilisearch(options = {}, &block)
104103 end
105104 end
106105 if options [ :enqueue ]
107- raise ArgumentError , 'Cannot use a enqueue if the `synchronous` option is set' if options [ :synchronous ]
108-
109106 proc = if options [ :enqueue ] == true
110107 proc do |record , remove |
111108 if remove
0 commit comments