Sha256: 9d880a6d44929b11ef5619b91f139eb2592a76964d46170acec972d39fdfe44f

Contents?: true

Size: 903 Bytes

Versions: 3

Compression:

Stored size: 903 Bytes

Contents

# frozen_string_literal: true

module Decidim
  #
  # Decorator for notifications in mail digest
  #
  class NotificationToMailerPresenter < SimpleDelegator
    include Decidim::TranslatableAttributes

    delegate :url_helpers, to: "Decidim::Core::Engine.routes"
    delegate :resource_title, to: :event
    delegate :resource_url, to: :event
    delegate :email_intro, to: :event
    delegate :resource_path, to: :event

    def date_time
      if frequency == :daily
        created_at.strftime("%H:%M")
      else
        I18n.l(created_at, format: :decidim_short)
      end
    end

    private

    def event
      @event ||= event_class.constantize.new(
        resource: resource,
        user: user,
        user_role: user_role,
        event_name: event_name,
        extra: extra
      )
    end

    def frequency
      @frequency ||= user.notifications_sending_frequency
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-core-0.27.5 app/presenters/decidim/notification_to_mailer_presenter.rb
decidim-core-0.27.4 app/presenters/decidim/notification_to_mailer_presenter.rb
decidim-core-0.27.3 app/presenters/decidim/notification_to_mailer_presenter.rb