aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhellekin <hellekin@cepheide.org>2020-10-06 00:24:41 +0200
committerhellekin <hellekin@cepheide.org>2020-10-06 00:24:41 +0200
commitf0a00d02d30509b3b56026e9e4d119bce3a82d99 (patch)
tree46c8f20137696e966bddf4bb4947d14aa80c0a9d
parent53fee71ecd3a3202b847b3e0082e4ee0ca770ca6 (diff)
downloadincommon-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.rb10
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