Module: SnFoil::Controller::Concerns::DestroyControllerConcern

Extended by:
ActiveSupport::Concern
Included in:
Base
Defined in:
lib/sn_foil/controller/concerns/destroy_controller_concern.rb

Instance Method Summary collapse

Instance Method Details

#destroy(**options) ⇒ Object



16
17
18
19
20
# File 'lib/sn_foil/controller/concerns/destroy_controller_concern.rb', line 16

def destroy(**options)
  options = setup_destroy(**options)
  model = process_destroy(**options)
  render_destroy(model, **options)
end

#process_destroy(**options) ⇒ Object



26
27
28
# File 'lib/sn_foil/controller/concerns/destroy_controller_concern.rb', line 26

def process_destroy(**options)
  current_context(**options).destroy(**options)
end

#render_destroy(model, **_options) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/sn_foil/controller/concerns/destroy_controller_concern.rb', line 30

def render_destroy(model, **_options)
  if model.errors.empty?
    render nil
  else
    render model.errors, status: :unprocessable_entity
  end
end

#setup_destroy(**options) ⇒ Object



22
23
24
# File 'lib/sn_foil/controller/concerns/destroy_controller_concern.rb', line 22

def setup_destroy(**options)
  setup_options(**options)
end