Sha256: c622f228000577cc41b0e9249343085362d18dbe2b9d857a729f603a00e38ecb

Contents?: true

Size: 864 Bytes

Versions: 3

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module ContentBlocks
    class ParticipatorySpaceMetadataCell < BaseCell
      def show
        return if metadata_valued_items.blank?

        render
      end

      def metadata_valued_items
        metadata_items.filter_map do |item|
          next if (value = translated_attribute(presented_space.send(item))).blank?

          {
            title: t(item, scope: translations_scope),
            value:
          }
        end
      end

      private

      def metadata_items = []

      def presented_space
        space_presenter.new(resource)
      end

      def space_presenter
        raise "#{self.class.name} is expected to implement #space_presenter"
      end

      def translations_scope
        raise "#{self.class.name} is expected to implement #translations_scope"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-core-0.28.0 app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb
decidim-core-0.28.0.rc5 app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb
decidim-core-0.28.0.rc4 app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb