Sha256: 9666c382721b3fd76c03c3d3a4a3df5144cf98dcfcac1878dbbba1657c473918
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
module Rapidfire class QuestionGroupResults < Rapidfire::BaseService attr_accessor :question_group # extracts question along with results # each entry will have the following: # 1. question type and question id # 2. question text # 3. if aggregatable, return each option with value # 4. else return an array of all the answers given def extract @question_group.questions.collect do |question| results = case question when Rapidfire::Questions::Select, Rapidfire::Questions::Radio, Rapidfire::Questions::Checkbox answers = question.answers.map(&:answer_text).map do |text| text.to_s.split(Rapidfire.answers_delimiter) end.flatten answers.inject(Hash.new(0)) { |total, e| total[e] += 1; total } when Rapidfire::Questions::Short, Rapidfire::Questions::Date, Rapidfire::Questions::Long, Rapidfire::Questions::Numeric question.answers.pluck(:answer_text) end QuestionResult.new(question: question, results: results) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rapidfire-2.1.0 | app/services/rapidfire/question_group_results.rb |
rapidfire-2.0.0 | app/services/rapidfire/question_group_results.rb |