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 Hyrax::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:



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

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



138
139
140
# File 'app/services/hyrax/edit_permissions_service.rb', line 138

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:



144
145
146
# File 'app/services/hyrax/edit_permissions_service.rb', line 144

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



122
123
124
125
126
127
128
129
# File 'app/services/hyrax/edit_permissions_service.rb', line 122

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



133
134
135
# File 'app/services/hyrax/edit_permissions_service.rb', line 133

def name
  @permission_hash.fetch(:name)
end