Skip to content

Instantly share code, notes, and snippets.

@velotiotech
Created October 6, 2021 06:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save velotiotech/7d7d5de185ae7a03baa0cf643df9c6f0 to your computer and use it in GitHub Desktop.
Save velotiotech/7d7d5de185ae7a03baa0cf643df9c6f0 to your computer and use it in GitHub Desktop.
module ElasticsearchIndexer
extend ActiveSupport::Concern
included do
after_commit :reindex_model
def reindex_model
updated_fields = self.previous_changes.keys
# For getting ES Index fields you can also maintain constant
# on model level or get from the search_data method.
es_index_fields = self.search_data.stringify_keys.keys
return if (updated_fields & es_index_fields).blank?
ElasticsearchWorker.perform_async(self.id, klass)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment