Class: Group
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Group
- Defined in:
- app/models/group.rb
Overview
A set of Participants.
Instance Method Summary collapse
- #activities_future_by_week(week_number) ⇒ Object
- #activities_past_by_week(week_number) ⇒ Object
- #comments_by_week(week_number) ⇒ Object
- #goals_by_week(week_number) ⇒ Object
- #learning_tasks ⇒ Object
- #likes_by_week(week_number) ⇒ Object
- #logins_by_week(week_number) ⇒ Object
- #on_the_mind_statements_by_week(week_number) ⇒ Object
- #thoughts_by_week(week_number) ⇒ Object
Instance Method Details
#activities_future_by_week(week_number) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'app/models/group.rb', line 63 def activities_future_by_week(week_number) activities = Arel::Table.new(:activities) memberships.map do |membership| membership .participant .activities .unscheduled_or_in_the_future .where(activities[:created_at].gteq(week_start_day(week_number))) .where(activities[:created_at].lt(week_end_day(week_number))) end.map(&:count).sum end |
#activities_past_by_week(week_number) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'app/models/group.rb', line 50 def activities_past_by_week(week_number) activities = Arel::Table.new(:activities) memberships.map do |membership| membership .participant .activities .in_the_past .where(activities[:created_at].gteq(week_start_day(week_number))) .where(activities[:created_at].lt(week_end_day(week_number))) end.map(&:count).sum end |
#comments_by_week(week_number) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'app/models/group.rb', line 89 def comments_by_week(week_number) = Arel::Table.new(:social_networking_comments) memberships.map do |membership| SocialNetworking::Comment .where(participant: membership.participant) .where([:created_at] .gteq(week_start_day(week_number))) .where([:created_at] .lt(week_end_day(week_number))) end.map(&:count).sum end |
#goals_by_week(week_number) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'app/models/group.rb', line 76 def goals_by_week(week_number) = Arel::Table.new(:social_networking_goals) memberships.map do |membership| SocialNetworking::Goal .where(participant: membership.participant) .where([:created_at] .gteq(week_start_day(week_number))) .where([:created_at] .lt(week_end_day(week_number))) end.map(&:count).sum end |
#learning_tasks ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'app/models/group.rb', line 22 def learning_tasks tasks .joins(:bit_core_content_module) .where( Arel::Table.new(:bit_core_content_modules)[:type] .eq("ContentModules::LessonModule") ) end |
#likes_by_week(week_number) ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'app/models/group.rb', line 116 def likes_by_week(week_number) = Arel::Table.new(:social_networking_likes) memberships.map do |membership| SocialNetworking::Like .where(participant: membership.participant) .where([:created_at] .gteq(week_start_day(week_number))) .where([:created_at] .lt(week_end_day(week_number))) end.map(&:count).sum end |
#logins_by_week(week_number) ⇒ Object
31 32 33 34 35 36 |
# File 'app/models/group.rb', line 31 def logins_by_week(week_number) memberships.map do |membership| membership .logins_by_week(week_number) end.inject(:+) end |
#on_the_mind_statements_by_week(week_number) ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'app/models/group.rb', line 102 def on_the_mind_statements_by_week(week_number) = Arel::Table.new(:social_networking_on_the_mind_statements) memberships.map do |membership| SocialNetworking::OnTheMindStatement .where(participant: membership.participant) .where([:created_at] .gteq(week_start_day(week_number))) .where([:created_at] .lt(week_end_day(week_number))) end.map(&:count).sum end |
#thoughts_by_week(week_number) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/models/group.rb', line 38 def thoughts_by_week(week_number) thoughts = Arel::Table.new(:thoughts) memberships.map do |membership| membership .participant .thoughts .where(thoughts[:created_at].gteq(week_start_day(week_number))) .where(thoughts[:created_at].lt(week_end_day(week_number))) end.map(&:count).sum end |