Sha256: bbb3630f58b59c8acb0bae0606ccd19a00dfdee01bfad88e4a489818c4f5e154

Contents?: true

Size: 1.1 KB

Versions: 18

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

module Thredded
  # A Thredded::NullUser stands in place of a real (mainapp supplied) User when:
  #
  # * user is not logged in (ie. the thredded_current_user)
  # * a user that was hard-deleted
  #   (e.g. if a post was made by a user, and then that user is destroyed, the post's user ID is nullified).
  class NullUser
    include ::Thredded::UserPermissions::Read::All
    include ::Thredded::UserPermissions::Write::None
    include ::Thredded::UserPermissions::Message::ReadersOfWriteableBoards
    include ::Thredded::UserPermissions::Moderate::None
    include ::Thredded::UserPermissions::Admin::None

    def thredded_private_topics
      Thredded::PrivateTopic.none
    end

    def id
      nil
    end

    def name
      I18n.t('thredded.null_user_name')
    end

    def to_s
      name
    end

    def valid?
      false
    end

    def thredded_anonymous?
      true
    end

    def thredded_user_detail
      Thredded::UserDetail.new
    end

    def thredded_user_preference
      Thredded::UserPreference.new
    end

    def thredded_display_name
      to_s
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
thredded-1.1.0 app/models/thredded/null_user.rb
thredded-1.0.1 app/models/thredded/null_user.rb
thredded-1.0.0 app/models/thredded/null_user.rb
thredded-0.16.16 app/models/thredded/null_user.rb
thredded-0.16.15 app/models/thredded/null_user.rb
thredded-0.16.14 app/models/thredded/null_user.rb
thredded-0.16.13 app/models/thredded/null_user.rb
thredded-0.16.12 app/models/thredded/null_user.rb
thredded-0.16.11 app/models/thredded/null_user.rb
thredded-0.16.10 app/models/thredded/null_user.rb
thredded-0.16.9 app/models/thredded/null_user.rb
thredded-0.16.8 app/models/thredded/null_user.rb
thredded-0.16.7 app/models/thredded/null_user.rb
thredded-0.16.6 app/models/thredded/null_user.rb
thredded-0.16.5 app/models/thredded/null_user.rb
thredded-0.16.4 app/models/thredded/null_user.rb
thredded-0.16.3 app/models/thredded/null_user.rb
thredded-0.16.1 app/models/thredded/null_user.rb