class ThemesReport < ApplicationRecord
  belongs_to :respondent_category
  belongs_to :analysis_report, optional: true

  def respondents
    Respondent.where(id: respondent_ids)
  end

  def selected_sections
    MasterSection.where(id: section_ids)
  end

  def remove_respondent!(respondent_id)
    target_id = respondent_id.to_i
    respondent_ids.delete(target_id)
    save!
    analysis_report.update!(requires_insight_regeneration: true, requires_section_regeneration: true)
  end
end
