Sha256: 0db9b76c49bb4b08f7d9f7d9619ff2a7a9c61a0564e75fd85d4cfdba6a408101
Contents?: true
Size: 829 Bytes
Versions: 11
Compression:
Stored size: 829 Bytes
Contents
# frozen_string_literal: true module Decidim module Surveys # The data store for a Survey in the Decidim::Surveys component. class Survey < Surveys::ApplicationRecord include Decidim::HasFeature feature_manifest_name "surveys" has_many :questions, -> { order(:position) }, class_name: "SurveyQuestion", foreign_key: "decidim_survey_id", dependent: :destroy has_many :answers, class_name: "SurveyAnswer", foreign_key: "decidim_survey_id", dependent: :destroy # Public: returns whether the survey questions can be modified or not. def questions_editable? answers.empty? end # Public: returns whether the survey is answered by the user or not. def answered_by?(user) answers.where(user: user).count == questions.length end end end end
Version data entries
11 entries across 11 versions & 1 rubygems