Class: Hyrax::EditPermissionsService::PermissionPresenter Private

Inherits:
Object
  • Object
show all
Defined in:
app/services/hyrax/edit_permissions_service.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

A helper class to contain specific presentation logic related to the EditPermissionsService

Instance Method Summary collapse

Constructor Details

#initialize(service:, permission_hash:) ⇒ PermissionPresenter

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of PermissionPresenter.

Parameters:


88
89
90
91
# File 'app/services/hyrax/edit_permissions_service.rb', line 88

def initialize(service:, permission_hash:)
  @service = service
  @permission_hash = permission_hash
end

Instance Method Details

#accessObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns String.

Returns:

  • String


113
114
115
# File 'app/services/hyrax/edit_permissions_service.rb', line 113

def access
  @permission_hash.fetch(:access)
end

#can_edit?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Boolean.

Returns:

  • (Boolean)

    Boolean

See Also:


119
120
121
# File 'app/services/hyrax/edit_permissions_service.rb', line 119

def can_edit?
  !@service.cannot_edit_permissions?(@permission_hash)
end

#granted_by_html_hintObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

A hint at how permissions are granted.

rubocop:disable Rails/OutputSafety

Returns:

  • String


97
98
99
100
101
102
103
104
# File 'app/services/hyrax/edit_permissions_service.rb', line 97

def granted_by_html_hint
  html = ""
  @service.unauthorized_collection_managers.each do |managers|
    next unless name == managers.fetch(:name)
    html += "<br />Access granted via collection #{managers.fetch(:id)}"
  end
  html.html_safe
end

#nameObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns String.

Returns:

  • String


108
109
110
# File 'app/services/hyrax/edit_permissions_service.rb', line 108

def name
  @permission_hash.fetch(:name)
end