Class: Jobs::CheckTranslationOverrides

Inherits:
Scheduled show all
Defined in:
app/jobs/scheduled/check_translation_overrides.rb

Instance Method Summary collapse

Methods inherited from Scheduled

#perform

Methods inherited from Base

acquire_cluster_concurrency_lock!, clear_cluster_concurrency_lock!, cluster_concurrency, cluster_concurrency_redis_key, delayed_perform, #error_context, get_cluster_concurrency, #last_db_duration, #log, #perform, #perform_immediately

Instance Method Details

#execute(args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/jobs/scheduled/check_translation_overrides.rb', line 7

def execute(args)
  deprecated_ids = []
  invalid_ids = []
  outdated_ids = []

  TranslationOverride.find_each do |override|
    if override.original_translation_deleted?
      deprecated_ids << override.id
    elsif override.invalid_interpolation_keys.present?
      invalid_ids << override.id
    elsif override.original_translation_updated?
      outdated_ids << override.id
    end
  end

  TranslationOverride.where(id: deprecated_ids).update_all(status: "deprecated")
  TranslationOverride.where(id: outdated_ids).update_all(status: "outdated")
  TranslationOverride.where(id: invalid_ids).update_all(status: "invalid_interpolation_keys")
end