Sha256: 8a92107ac0ab78dd66681b0f2d0ec7bf89a7a5856286ee1355660427a9eea297
Contents?: true
Size: 1.18 KB
Versions: 73
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true module Decidim module Surveys module Metrics # Searches for Participants in the following actions # - Answer a survey (Surveys) class SurveyParticipantsMetricMeasure < Decidim::MetricMeasure def valid? super && @resource.is_a?(Decidim::Component) end def calculate surveys = Decidim::Surveys::Survey.joins(:component, :questionnaire).where(component: @resource) questionnaires = Decidim::Forms::Questionnaire.includes(:questionnaire_for) .where(questionnaire_for_type: Decidim::Surveys::Survey.name, questionnaire_for_id: surveys.pluck(:id)) answers = Decidim::Forms::Answer.joins(:questionnaire) .where(questionnaire: questionnaires) .where("decidim_forms_answers.created_at <= ?", end_time) { cumulative_users: answers.pluck(:decidim_user_id).uniq, quantity_users: answers.where("decidim_forms_answers.created_at >= ?", start_time).pluck(:decidim_user_id).uniq } end end end end end
Version data entries
73 entries across 73 versions & 1 rubygems