Sha256: d2fd2391fd061a018c95da06bd4d266b53cd1a6d1faa0edae280c52f0d01bbdf

Contents?: true

Size: 929 Bytes

Versions: 2

Compression:

Stored size: 929 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Debates
    #
    # Decorator for debates
    #
    class DebatePresenter < SimpleDelegator
      include Decidim::SanitizeHelper
      include Decidim::TranslatableAttributes

      def debate
        __getobj__
      end

      def author
        @author ||= if official?
                      Decidim::Debates::OfficialAuthorPresenter.new
                    elsif user_group
                      Decidim::UserGroupPresenter.new(user_group)
                    else
                      Decidim::UserPresenter.new(super)
                    end
      end

      def title
        content = translated_attribute(debate.title)
        decidim_html_escape(content)
      end

      def description(strip_tags: false)
        content = translated_attribute(debate.description)
        content = strip_tags(content) if strip_tags
        content
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-debates-0.22.0 app/presenters/decidim/debates/debate_presenter.rb
decidim-debates-0.21.0 app/presenters/decidim/debates/debate_presenter.rb