Class: ActiveStorage::Attached::Changes::DetachMany

Inherits:
Object
  • Object
show all
Defined in:
activestorage/lib/active_storage/attached/changes/detach_many.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, record, attachments) ⇒ DetachMany

Returns a new instance of DetachMany.


7
8
9
# File 'activestorage/lib/active_storage/attached/changes/detach_many.rb', line 7

def initialize(name, record, attachments)
  @name, @record, @attachments = name, record, attachments
end

Instance Attribute Details

#attachmentsObject (readonly)

Returns the value of attribute attachments.


5
6
7
# File 'activestorage/lib/active_storage/attached/changes/detach_many.rb', line 5

def attachments
  @attachments
end

#nameObject (readonly)

Returns the value of attribute name.


5
6
7
# File 'activestorage/lib/active_storage/attached/changes/detach_many.rb', line 5

def name
  @name
end

#recordObject (readonly)

Returns the value of attribute record.


5
6
7
# File 'activestorage/lib/active_storage/attached/changes/detach_many.rb', line 5

def record
  @record
end

Instance Method Details

#detachObject


11
12
13
14
15
16
# File 'activestorage/lib/active_storage/attached/changes/detach_many.rb', line 11

def detach
  if attachments.any?
    attachments.delete_all if attachments.respond_to?(:delete_all)
    record.attachment_changes.delete(name)
  end
end