Class: WorkflowKit::RemoveFromGroupBrick

Inherits:
Brick
  • Object
show all
Defined in:
app/models/workflow_kit/remove_from_group_brick.rb

Instance Method Summary collapse

Instance Method Details

#descriptionObject



6
7
8
9
# File 'app/models/workflow_kit/remove_from_group_brick.rb', line 6

def description
  "Quit the membership of the user that is passed to this workflow as parameter " + 
    "in the group that is passed to the workflow as parameter."
end

#execute(params) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/models/workflow_kit/remove_from_group_brick.rb', line 10

def execute( params )
  raise 'no user_id given' unless params[ :user_id ]
  raise 'no group_id given' unless params[ :group_id ]

  user = User.find( params[ :user_id ] ) 
  group = Group.find( params[ :group_id ] )

  membership = UserGroupMembership.find_by( user: user, group: group )
  if membership
    if membership.direct?
      membership.invalidate at: 2.seconds.ago
    else
      membership.direct_memberships.each { |m| m.invalidate at: 2.seconds.ago } 
    end
  end
end

#nameObject



3
4
5
# File 'app/models/workflow_kit/remove_from_group_brick.rb', line 3

def name 
  "Remove User from Group"
end