Class: Decidim::Accountability::ResultStatsCalculator
- Inherits:
-
Object
- Object
- Decidim::Accountability::ResultStatsCalculator
- Defined in:
- app/services/decidim/accountability/result_stats_calculator.rb
Overview
This class handles statistics of results. Needs a ‘result` in order to find the stats.
Instance Method Summary collapse
- #attendees_count ⇒ Object
- #comments_count ⇒ Object
- #contributions_count ⇒ Object
-
#initialize(result) ⇒ ResultStatsCalculator
constructor
Public: Initializes the service.
- #votes_count ⇒ Object
Constructor Details
#initialize(result) ⇒ ResultStatsCalculator
Public: Initializes the service. result - The result from which to calculate the stats.
10 11 12 |
# File 'app/services/decidim/accountability/result_stats_calculator.rb', line 10 def initialize(result) @result = result end |
Instance Method Details
#attendees_count ⇒ Object
26 27 28 |
# File 'app/services/decidim/accountability/result_stats_calculator.rb', line 26 def attendees_count meetings.where("attendees_count > 0").sum(:attendees_count) end |
#comments_count ⇒ Object
22 23 24 |
# File 'app/services/decidim/accountability/result_stats_calculator.rb', line 22 def comments_count proposals.sum(:comments_count) end |
#contributions_count ⇒ Object
30 31 32 |
# File 'app/services/decidim/accountability/result_stats_calculator.rb', line 30 def contributions_count meetings.where("contributions_count > 0").sum(:contributions_count) end |
#votes_count ⇒ Object
16 17 18 19 20 |
# File 'app/services/decidim/accountability/result_stats_calculator.rb', line 16 def votes_count return 0 unless proposals proposals.sum { |proposal| proposal.votes.size } end |