Sha256: 1a9425ad255d4aab56d36c8552f5f66994e5ed8ffa53cb41a5fb8947f07e0035

Contents?: true

Size: 1.48 KB

Versions: 8

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

module Decidim
  module Debates
    # This cell renders the Medium (:m) debate card
    # for an given instance of a Debate
    class DebateMCell < Decidim::CardMCell
      include DebateCellsHelper

      def date
        render
      end

      def has_state?
        model.closed?
      end

      def badge_name
        I18n.t("decidim.debates.debates.closed") if model.closed?
      end

      def state_classes
        return ["muted"] if model.closed?

        super
      end

      def presenter
        present(model)
      end

      private

      def title
        presenter.title
      end

      def body
        decidim_sanitize(present(model).description)
      end

      def description
        strip_tags(body).truncate(200, separator: /\s/)
      end

      def resource_icon
        icon "debates", class: "icon--big"
      end

      def spans_multiple_dates?
        start_date != end_date
      end

      def debate_date
        return unless start_date && end_date
        return render(:multiple_dates) if spans_multiple_dates?

        render(:single_date)
      end

      def formatted_start_time
        model.start_time.strftime("%H:%M")
      end

      def formatted_end_time
        model.end_time.strftime("%H:%M")
      end

      def start_date
        return unless model.start_time

        model.start_time.to_date
      end

      def end_date
        return unless model.end_time

        model.end_time.to_date
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
decidim-debates-0.23.6 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.5 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.4 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.3 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.2 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.1 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.1.rc1 app/cells/decidim/debates/debate_m_cell.rb
decidim-debates-0.23.0 app/cells/decidim/debates/debate_m_cell.rb