Sha256: 0feb6489708ba8eb3ea0f8db0f69ba23a1bc9f60ac2c6ad1cfa741d579e4895c

Contents?: true

Size: 929 Bytes

Versions: 12

Compression:

Stored size: 929 Bytes

Contents

# frozen_string_literal: true

module Decidim
  #
  # Decorator for conference speakers
  #
  class ConferenceSpeakerPresenter < SimpleDelegator
    include Decidim::ResourceHelper

    delegate :profile_path, to: :user, allow_nil: true

    def name
      user ? user.name : full_name
    end

    def nickname
      user.nickname if user
    end

    def deleted?
      user ? user.deleted? : false
    end

    def badge
      user ? user.badge : false
    end

    def can_be_contacted?
      user ? true : false
    end

    def has_tooltip?
      false
    end

    def avatar
      attached_uploader(:avatar)
    end

    def avatar_url(variant = nil)
      return avatar.default_url unless avatar.attached?

      avatar.path(variant: variant)
    end

    private

    def user
      @user ||= if (user = __getobj__.user.presence)
                  Decidim::UserPresenter.new(user)
                end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
decidim-conferences-0.27.9 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.8 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.7 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.6 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.5 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.4 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.3 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.2 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.1 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.0 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.0.rc2 app/presenters/decidim/conference_speaker_presenter.rb
decidim-conferences-0.27.0.rc1 app/presenters/decidim/conference_speaker_presenter.rb