Sha256: 248a4868ba3c8b310bf98924872abb7545f40e0e4f918ab518b62a3c9e01008f
Contents?: true
Size: 985 Bytes
Versions: 49
Compression:
Stored size: 985 Bytes
Contents
# frozen_string_literal: true module Decidim # A command with all the business logic to reject an invitation to belong to a # group. class RejectGroupInvitation < Rectify::Command # Public: Initializes the command. # # user_group - the UserGroup where the user has been invited # user - the User that has been invited def initialize(user_group, user) @user_group = user_group @user = user end # Executes the command. Broadcasts these events: # # - :ok when everything is valid. # - :invalid if we couldn't proceed. # # Returns nothing. def call return broadcast(:invalid) if membership.blank? reject_invitation broadcast(:ok) end private attr_reader :user_group, :user def reject_invitation membership.destroy! end def membership @membership ||= Decidim::UserGroupMembership.find_by(user: user, user_group: user_group, role: :invited) end end end
Version data entries
49 entries across 49 versions & 1 rubygems