Sha256: 8d85bd00dcb77163c766c0bcd54ed2c8d556e6308b9a43df113c823b7ef934ba

Contents?: true

Size: 1.08 KB

Versions: 33

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Decidim
  module Forms
    # A class used to collect user answers for a questionnaire
    class QuestionnaireParticipant < Rectify::Query
      # Syntactic sugar to initialize the class and return the queried objects.
      #
      # questionnaire - a Questionnaire object
      # session_token = the session_token used by the questionnaire participant
      def self.for(questionnaire, session_token)
        new(questionnaire, session_token).query
      end

      # Initializes the class.
      #
      # questionnaire = a Questionnaire object
      # session_token = the session_token used by the questionnaire participant
      def initialize(questionnaire, session_token)
        @questionnaire = questionnaire
        @token = session_token
      end

      # Returns query with participant info
      def query
        answers.select(:session_token, :decidim_user_id, :ip_hash).first
      end

      # Finds the participant's answers.
      def answers
        Answer.where(questionnaire: @questionnaire, session_token: @token)
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
decidim-forms-0.26.10 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.9 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.8 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.7 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.5 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.4 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.3 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.2 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.1 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.0 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.0.rc2 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.26.0.rc1 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.2 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.1 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.0 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.0.rc4 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.0.rc3 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.0.rc2 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.25.0.rc1 app/queries/decidim/forms/questionnaire_participant.rb
decidim-forms-0.24.3 app/queries/decidim/forms/questionnaire_participant.rb