22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'app/models/rapidfire/survey.rb', line 22
def results_to_csv(filter)
CSV.generate do |csv|
= []
+= Rapidfire::Survey.csv_user_attributes
questions.each do |question|
<< ActionView::Base.full_sanitizer.sanitize(question.question_text, :tags => [], :attributes => [])
end
<< "results updated at"
csv <<
attempts.where(SurveyResults.filter(filter, 'id')).each do |attempt|
this_attempt = []
Survey.csv_user_attributes.each do |attribute|
this_attempt << attempt.user.try(attribute)
end
questions.each do |question|
answer = attempt.answers.detect{|a| a.question_id == question.id }.try(:answer_text)
this_attempt << answer
end
this_attempt << attempt.updated_at
csv << this_attempt
end
end
end
|