Class: Decidim::InviteUserToGroup
- Defined in:
 - app/commands/decidim/invite_user_to_group.rb
 
Overview
A command with all the business logic to invite a user to a group.
Instance Attribute Summary collapse
- 
  
    
      #form  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute form.
 - 
  
    
      #invitation  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute invitation.
 - 
  
    
      #user_group  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute user_group.
 
Instance Method Summary collapse
- 
  
    
      #call  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Executes the command.
 - 
  
    
      #initialize(form, user_group)  ⇒ InviteUserToGroup 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Public: Initializes the command.
 
Methods inherited from Command
call, #evaluate, #method_missing, #respond_to_missing?, #transaction, #with_events
Constructor Details
#initialize(form, user_group) ⇒ InviteUserToGroup
Public: Initializes the command.
form - A form object with the params. user_group - The user group that invites the user
      10 11 12 13  | 
    
      # File 'app/commands/decidim/invite_user_to_group.rb', line 10 def initialize(form, user_group) @form = form @user_group = user_group end  | 
  
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Decidim::Command
Instance Attribute Details
#form ⇒ Object (readonly)
Returns the value of attribute form.
      33 34 35  | 
    
      # File 'app/commands/decidim/invite_user_to_group.rb', line 33 def form @form end  | 
  
#invitation ⇒ Object (readonly)
Returns the value of attribute invitation.
      33 34 35  | 
    
      # File 'app/commands/decidim/invite_user_to_group.rb', line 33 def invitation @invitation end  | 
  
#user_group ⇒ Object (readonly)
Returns the value of attribute user_group.
      33 34 35  | 
    
      # File 'app/commands/decidim/invite_user_to_group.rb', line 33 def user_group @user_group end  | 
  
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.
      21 22 23 24 25 26 27 28 29 30 31  | 
    
      # File 'app/commands/decidim/invite_user_to_group.rb', line 21 def call return broadcast(:invalid) if form.invalid? return broadcast(:ok) if user_belongs_to_group? transaction do @invitation = invite_user send_notification end broadcast(:ok) end  |