Module: ActiveStorageBlobExtension

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/active_storage_blob_extension.rb

Overview

This is included into ActiveStorage::Attachment automatically by engine.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#active_storage_extensionObject

Find or build



24
25
26
# File 'app/models/concerns/active_storage_blob_extension.rb', line 24

def active_storage_extension
  active_storage_extensions.to_a.first || active_storage_extensions.build(permission: 'inherited')
end

#mark_inherited!Object



40
41
42
43
# File 'app/models/concerns/active_storage_blob_extension.rb', line 40

def mark_inherited!
  active_storage_extension.assign_attributes(permission: 'inherited')
  save!
end

#mark_public!Object



45
46
47
48
# File 'app/models/concerns/active_storage_blob_extension.rb', line 45

def mark_public!
  active_storage_extension.assign_attributes(permission: 'public')
  save!
end

#permissionObject



28
29
30
# File 'app/models/concerns/active_storage_blob_extension.rb', line 28

def permission
  active_storage_extension.permission
end

#permission_inherited?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/models/concerns/active_storage_blob_extension.rb', line 32

def permission_inherited?
  permission == 'inherited'
end

#permission_public?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'app/models/concerns/active_storage_blob_extension.rb', line 36

def permission_public?
  permission == 'public'
end

#purge!Object



50
51
52
# File 'app/models/concerns/active_storage_blob_extension.rb', line 50

def purge!
  purge
end

#to_sObject

Instance methods



19
20
21
# File 'app/models/concerns/active_storage_blob_extension.rb', line 19

def to_s
  filename.presence || 'blob'
end