foalfetch/app/jobs/recount_words_job.rb

22 lines
443 B
Ruby
Raw Normal View History

2024-04-04 10:21:23 +02:00
# frozen_string_literal: true
class RecountWordsJob < ApplicationJob
def perform(*)
Story.find_each do |story|
word_count = 0
story.chapters.each do |chapter|
2024-04-03 00:28:40 +02:00
next unless chapter.body
2024-04-04 10:21:23 +02:00
count = chapter.body.split.size
chapter.update_columns(
num_words: count
)
word_count += count
end
story.update_columns(
num_words: word_count
)
end
end
2024-04-04 10:21:23 +02:00
end