Sha256: dfc68c9eadebbc0aa76ec61373c776936e18cc509da65311e297a47e19e44e74

Contents?: true

Size: 847 Bytes

Versions: 17

Compression:

Stored size: 847 Bytes

Contents

# frozen_string_literal: true

module Decidim
  #
  # Decorator for users
  #
  class HashtagPresenter < SimpleDelegator
    include Rails.application.routes.mounted_helpers
    include ActionView::Helpers::UrlHelper

    def initialize(hashtag, cased_name: nil)
      super(hashtag)
      @cased_name = cased_name if cased_name&.downcase == hashtag.name
    end

    #
    # hashtag presented in a twitter-like style
    #
    def name
      "##{@cased_name || super}"
    end

    delegate :url, to: :hashtag, prefix: true

    def hashtag_path
      decidim.hashtag_path(__getobj__.name)
    end

    def display_hashtag
      link_to name, decidim.search_path(term: name), target: "_blank", class: "text-secondary underline", rel: "noopener", data: { "external-link": false }
    end

    def display_hashtag_name
      name
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc2 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.30.0.rc1 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.2 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.5 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.1 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.4 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.0 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.3 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.0.rc4 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.0.rc3 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.0.rc2 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.29.0.rc1 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.2 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.1 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.0 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.0.rc5 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.28.0.rc4 app/presenters/decidim/hashtag_presenter.rb