Class: Decidim::Assemblies::Admin::CreateAssemblyMember
- Includes:
- Decidim::AttachmentAttributesMethods
- Defined in:
- decidim-assemblies/app/commands/decidim/assemblies/admin/create_assembly_member.rb
Overview
A command with all the business logic when creating a new assembly member in the system.
Instance Method Summary collapse
-
#call ⇒ Object
Executes the command.
-
#initialize(form, current_user, assembly) ⇒ CreateAssemblyMember
constructor
Public: Initializes the command.
Methods inherited from Command
call, #evaluate, #method_missing, #respond_to_missing?, #transaction, #with_events
Constructor Details
#initialize(form, current_user, assembly) ⇒ CreateAssemblyMember
Public: Initializes the command.
form - A form object with the params. assembly - The Assembly that will hold the member
15 16 17 18 19 |
# File 'decidim-assemblies/app/commands/decidim/assemblies/admin/create_assembly_member.rb', line 15 def initialize(form, current_user, assembly) @form = form @current_user = current_user @assembly = assembly end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Decidim::Command
Instance Method Details
#call ⇒ Object
Executes the command. Broadcasts these events:
-
:ok when everything is valid.
-
:invalid if the form was not valid and we could not proceed.
Returns nothing.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'decidim-assemblies/app/commands/decidim/assemblies/admin/create_assembly_member.rb', line 27 def call return broadcast(:invalid) if form.invalid? if assembly_member_with_attributes.valid? create_assembly_member! notify_assembly_member_about_new_membership broadcast(:ok) else if assembly_member_with_attributes.errors.include? :non_user_avatar form.errors.add( :non_user_avatar, assembly_member_with_attributes.errors[:non_user_avatar] ) end broadcast(:invalid) end end |