Sha256: ff0c3648f951852b4d847d168a419d6bdf4e54a9674d67809e0adc0745e78be7

Contents?: true

Size: 811 Bytes

Versions: 2

Compression:

Stored size: 811 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Log
    module ValueTypes
      # This class presents the given value as a Decidim::Area. Check
      # the `DefaultPresenter` for more info on how value
      # presenters work.
      class AreaPresenter < DefaultPresenter
        # Public: Presents the value as a Decidim::Area. If the area can
        # be found, it shows its title. Otherwise it shows its ID.
        #
        # Returns an HTML-safe String.
        def present
          return unless value
          return h.translated_attribute(area.name) if area
          I18n.t("not_found", id: value, scope: "decidim.log.value_types.area_presenter")
        end

        private

        def area
          @area ||= Decidim::Area.where(id: value).first
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-core-0.10.1 app/presenters/decidim/log/value_types/area_presenter.rb
decidim-core-0.10.0 app/presenters/decidim/log/value_types/area_presenter.rb