diff options
author | hellekin <hellekin@cepheide.org> | 2020-10-06 00:24:41 +0200 |
---|---|---|
committer | hellekin <hellekin@cepheide.org> | 2020-10-06 00:24:41 +0200 |
commit | f0a00d02d30509b3b56026e9e4d119bce3a82d99 (patch) | |
tree | 46c8f20137696e966bddf4bb4947d14aa80c0a9d | |
parent | 53fee71ecd3a3202b847b3e0082e4ee0ca770ca6 (diff) | |
download | incommon-map-f0a00d02d30509b3b56026e9e4d119bce3a82d99.tar.gz |
Add instance methods
The Agency class can `grant` and `revoke` roles for a given Agent and User.
Since it is primarily used in context of both an Agent and User, we add
convenience methods so that one can grant or revoke a role simply by passing
the desired role to the instance.
-rw-r--r-- | app/models/agency.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/agency.rb b/app/models/agency.rb index fe81687..03e6e5a 100644 --- a/app/models/agency.rb +++ b/app/models/agency.rb @@ -19,4 +19,14 @@ class Agency < ApplicationRecord r&.public_send("#{role}=", false) && r&.save end end + + # Grant role to current user in current agent + def grant(role) + self.class.grant(agent, user, role) + end + + # Revoke role from current user in current agent + def revoke(role) + self.class.revoke(agent, user, role) + end end |