module StudyEngine class UpdateAssessmentsForm extend ActiveModel::Naming def self.model_name ActiveModel::Name.new(Assessment) end def to_model self end def to_key end def to_param study_id.to_s end def persisted? true end def initialize study_id self.assessments = Assessment.by_study_id(study_id) self.study_id = StudyID.new(study_id) end attr_accessor :assessments, :study_id delegate :study, :site, :id, to: :study_id, prefix: true delegate :study=, :site=, :id=, to: :study_id, prefix: true def study_options StudyID::Bank.studies end def update_attributes! attributes attributes.each do |key, value| send "#{key}=", value end save end def save assessments.each do |assessment| assessment.update study_id: study_id end true end end end