Sha256: d2320fe40544676004aea43578e4bf51481dcd0a3bd24488ecdab60b489a3eab

Contents?: true

Size: 804 Bytes

Versions: 51

Compression:

Stored size: 804 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: "hashtag-mention", rel: "noopener"
    end

    def display_hashtag_name
      name
    end
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
decidim-core-0.27.9 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.8 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.7 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.6 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.10 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.9 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.5 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.8 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.4 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.3 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.7 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.5 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.2 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.1 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.4 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.0 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.3 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.0.rc2 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.27.0.rc1 app/presenters/decidim/hashtag_presenter.rb
decidim-core-0.26.2 app/presenters/decidim/hashtag_presenter.rb