Sha256: afd94be4e560caba6fcff2d4821ad9b7ae863c7d0b4a9771d26542a3320e8370

Contents?: true

Size: 845 Bytes

Versions: 3

Compression:

Stored size: 845 Bytes

Contents

module WorkflowKit
  class RemoveFromGroupBrick < Brick
    def name 
      "Remove User from Group"
    end
    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
    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
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
your_platform-1.0.1 app/models/workflow_kit/remove_from_group_brick.rb
your_platform-1.0.0 app/models/workflow_kit/remove_from_group_brick.rb
your_platform-0.0.2 app/models/workflow_kit/remove_from_group_brick.rb