Sha256: e41a7e84b0dd65d52ebcac76cd1d12a5e06969f1e603b670bd393f53e83527aa

Contents?: true

Size: 1.18 KB

Versions: 5

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

module Decidim
  module Assemblies
    module ContentBlocks
      class HighlightedAssembliesCell < Decidim::ViewModel
        delegate :current_user, to: :controller

        cache :show, expires_in: 10.minutes, if: :perform_caching? do
          cache_hash
        end

        def show
          render if highlighted_assemblies.any?
        end

        def max_results
          model.settings.max_results
        end

        def highlighted_assemblies
          @highlighted_assemblies ||= OrganizationPrioritizedAssemblies
                                      .new(current_organization, current_user)
                                      .query
                                      .includes([:organization])
                                      .limit(max_results)
        end

        def i18n_scope
          "decidim.assemblies.pages.home.highlighted_assemblies"
        end

        def decidim_assemblies
          Decidim::Assemblies::Engine.routes.url_helpers
        end

        private

        def cache_hash
          hash = []
          hash.push(I18n.locale)
          hash.join(Decidim.cache_key_separator)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
decidim-assemblies-0.26.2 app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb
decidim-assemblies-0.26.1 app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb
decidim-assemblies-0.26.0 app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb
decidim-assemblies-0.26.0.rc2 app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb
decidim-assemblies-0.26.0.rc1 app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb