Sha256: cada70f89238da191264e9ae06a78dcc6b4ece19127a7395c3735840ed693e79

Contents?: true

Size: 1.11 KB

Versions: 6

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module Decidim
  module EnhancedTextwork
    module Metrics
      class AcceptedParagraphsMetricManage < Decidim::EnhancedTextwork::Metrics::ParagraphsMetricManage
        def metric_name
          "accepted_paragraphs"
        end

        private

        def query
          return @query if @query

          spaces = Decidim.participatory_space_manifests.flat_map do |manifest|
            manifest.participatory_spaces.call(@organization).public_spaces
          end
          @query = Decidim::EnhancedTextwork::Paragraph.where(component: visible_components_from_spaces(spaces)).joins(:component)
                                               .left_outer_joins(:category)
          @query = @query.where("decidim_enhanced_textwork_paragraphs.created_at <= ?", end_time).accepted
          @query = @query.group("decidim_categorizations.id", :participatory_space_type, :participatory_space_id)
          @query
        end

        def quantity
          @quantity ||= query.where("decidim_enhanced_textwork_paragraphs.created_at >= ?", start_time).count
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-enhanced_textwork-1.0.5 app/queries/decidim/enhanced_textwork/metrics/accepted_paragraphs_metric_manage.rb
decidim-enhanced_textwork-1.0.4 app/queries/decidim/enhanced_textwork/metrics/accepted_paragraphs_metric_manage.rb
decidim-enhanced_textwork-1.0.3 app/queries/decidim/enhanced_textwork/metrics/accepted_paragraphs_metric_manage.rb
decidim-enhanced_textwork-1.0.2 app/queries/decidim/enhanced_textwork/metrics/accepted_paragraphs_metric_manage.rb
decidim-enhanced_textwork-1.0.1 app/queries/decidim/enhanced_textwork/metrics/accepted_paragraphs_metric_manage.rb
decidim-enhanced_textwork-1.0.0 app/queries/decidim/enhanced_textwork/metrics/accepted_paragraphs_metric_manage.rb