Class: Hyrax::DataDestroyers::PermissionTemplatesDestroyer

Inherits:
Object
  • Object
show all
Defined in:
app/utils/hyrax/data_destroyers/permission_templates_destroyer.rb

Overview

Note:

WARNING: DO NOT USE IN PRODUCTION! The methods in this class are destructive. Data can not be recovered.

PermissionTemplates are tightly coupled to admin sets and collections. When they are removed using wipe!, the associated database entries for permission templates also have to be deleted.

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject

Returns the value of attribute logger.



13
14
15
# File 'app/utils/hyrax/data_destroyers/permission_templates_destroyer.rb', line 13

def logger
  @logger
end

Class Method Details

.destroy_data(logger: Logger.new(STDOUT), allow_destruction_in_production: false) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/utils/hyrax/data_destroyers/permission_templates_destroyer.rb', line 15

def destroy_data(logger: Logger.new(STDOUT), allow_destruction_in_production: false)
  raise("PermissionTemplatesDestroyer is not for use in production!") if Rails.env.production? && !allow_destruction_in_production
  @logger = logger

  logger.info("Destroying permission templates...")

  Hyrax::PermissionTemplateAccess.destroy_all
  logger.info("   permission templates access -- DESTROYED")

  Hyrax::PermissionTemplate.destroy_all
  logger.info("   permission templates -- DESTROYED")
end