5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'app/jobs/alchemy/invalidate_elements_cache_job.rb', line 5
def perform(related_object_type, related_object_id)
element_ids = Ingredient
.where(related_object_type:, related_object_id:)
.joins(:element)
.pluck(:element_id)
elements = Element.where(id: element_ids)
all_element_ids = get_all_element_ids(elements, element_ids)
Element.where(id: all_element_ids).touch_all
page_ids = elements.joins(page_version: :page).select("DISTINCT alchemy_pages.id")
Page.where(id: page_ids).touch_all
end
|