Class: MoodAndEmotionVisualizationService
- Inherits:
-
Object
- Object
- MoodAndEmotionVisualizationService
- Defined in:
- app/support/mood_and_emotion_visualization_service.rb
Overview
Grouping logic for the visualization of participant mood and emotion data.
Instance Method Summary collapse
- #emotional_rating_daily_averages ⇒ Object
-
#initialize(participant) ⇒ MoodAndEmotionVisualizationService
constructor
A new instance of MoodAndEmotionVisualizationService.
- #mood_rating_daily_averages ⇒ Object
Constructor Details
#initialize(participant) ⇒ MoodAndEmotionVisualizationService
Returns a new instance of MoodAndEmotionVisualizationService.
4 5 6 |
# File 'app/support/mood_and_emotion_visualization_service.rb', line 4 def initialize(participant) @participant = participant end |
Instance Method Details
#emotional_rating_daily_averages ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/support/mood_and_emotion_visualization_service.rb', line 29 def = [] = @participant . .group_by { |x| x.created_at.strftime("%Y-%m-%d") } .each do |day, emotion_array| = @participant.positive_emotions(emotion_array) unless .empty? daily_positive = { day: day, intensity: (), is_positive: true, drill_down: , data_type: "Emotion" } << daily_positive end = @participant.negative_emotions(emotion_array) next if .empty? daily_negative = { day: day, intensity: (), is_positive: false, drill_down: , data_type: "Emotion" } << daily_negative end end |
#mood_rating_daily_averages ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/support/mood_and_emotion_visualization_service.rb', line 8 def = [] = @participant .moods .group_by { |x| x.created_at.strftime("%Y-%m-%d") } .each do |day, moods_array| = moods_array.collect do |mood| [mood., mood.created_at].compact end next if .empty? << { day: day, intensity: (), is_positive: true, drill_down: , data_type: "Mood" } end end |