Class: Spotlight::RenameSidecarFieldJob
- Inherits:
 - 
      ApplicationJob
      
        
- Object
 - ActiveJob::Base
 - ApplicationJob
 - Spotlight::RenameSidecarFieldJob
 
 
- Includes:
 - JobTracking
 
- Defined in:
 - app/jobs/spotlight/rename_sidecar_field_job.rb
 
Overview
After renaming an exhibit-specific field, we also need to update the sidecars that may contain that field
Instance Method Summary collapse
Methods included from JobTracking
#finalize_job_tracker!, #initialize_job_tracker!, #job_tracker, #mark_job_as_failed!
Instance Method Details
#perform(exhibit, old_field, new_field, old_slug = nil, new_slug = nil) ⇒ Object
      11 12 13 14 15 16 17 18 19 20  | 
    
      # File 'app/jobs/spotlight/rename_sidecar_field_job.rb', line 11 def perform(exhibit, old_field, new_field, old_slug = nil, new_slug = nil) exhibit.solr_document_sidecars.find_each do |s| # this data migration should be relatively rare migrate_data!(s, old_slug, new_slug) migrate_data!(s, old_field, new_slug || new_field) # for backwards compatibility # more likely, the indexing rules changed and we have to reindex reindex_document!(s) if old_field != new_field && s.data[new_slug || new_field] end end  |