Class: Decidim::Toggle::UpdateModuleConfigCommand

Inherits:
Command
  • Object
show all
Defined in:
app/commands/decidim/toggle/update_module_config_command.rb

Overview

Persists a form that includes ModuleConfigForm into OrganizationModuleConfig#config.

Instance Method Summary collapse

Constructor Details

#initialize(organization, form) ⇒ UpdateModuleConfigCommand

Returns a new instance of UpdateModuleConfigCommand.



7
8
9
10
# File 'app/commands/decidim/toggle/update_module_config_command.rb', line 7

def initialize(organization, form)
  @organization = organization
  @form = form
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/commands/decidim/toggle/update_module_config_command.rb', line 12

def call
  return broadcast(:invalid) if form.class.module_config_name.blank?
  return broadcast(:invalid) if form.invalid?

  Decidim::Toggle.save_config!(
    organization,
    form.class.module_config_name,
    form.to_h
  )
  broadcast(:ok)
rescue ActiveRecord::RecordInvalid
  broadcast(:invalid)
end