Sha256: a64ec43322080ccd6ea8c31104e11ef228fa4806501efc20c2015a52e46142bb

Contents?: true

Size: 820 Bytes

Versions: 17

Compression:

Stored size: 820 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # A default presenter for the cases when the presented object is nil.
  # For example, when there are data inconsistencies like when a Meeting which is the creator of a proposal is removed.
  # This presenter will also be useful if the presenter for the presented object cannot be resolved.
  #
  # It behaves as a presenter for deleted resources.
  # Returns an empty string for most of the method calls.
  class NilPresenter
    def initialize(*); end

    def deleted?
      true
    end

    def avatar_url(_variant = nil)
      Decidim::AvatarUploader.new(Decidim::User.new, :avatar).default_url
    end

    def respond_to_missing?(*)
      true
    end

    def method_missing(method, *_args)
      return false if method.end_with?("?")

      ""
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

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