Class: Rubycord::Interactions::PermissionBuilder Deprecated
- Inherits:
-
Object
- Object
- Rubycord::Interactions::PermissionBuilder
- Defined in:
- lib/rubycord/data/interaction.rb
Overview
Deprecated.
This system is being replaced in the near future.
Builder for creating server application command permissions.
Constant Summary collapse
- ROLE =
Role permission type
-
1
- USER =
User permission type
-
2
Instance Method Summary collapse
-
#allow(object) ⇒ PermissionBuilder
Allow an entity to use this command.
-
#allow_role(role_id) ⇒ PermissionBuilder
Allow a role to use this command.
-
#allow_user(user_id) ⇒ PermissionBuilder
Allow a user to use this command.
-
#deny(object) ⇒ PermissionBuilder
Deny an entity usage of this command.
-
#deny_role(role_id) ⇒ PermissionBuilder
Deny a role usage of this command.
-
#deny_user(user_id) ⇒ PermissionBuilder
Deny a user usage of this command.
-
#initialize ⇒ PermissionBuilder
constructor
A new instance of PermissionBuilder.
Constructor Details
#initialize ⇒ PermissionBuilder
Returns a new instance of PermissionBuilder.
577 578 579 |
# File 'lib/rubycord/data/interaction.rb', line 577 def initialize @permissions = [] end |
Instance Method Details
#allow(object) ⇒ PermissionBuilder
Allow an entity to use this command.
613 614 615 616 617 618 619 620 621 622 |
# File 'lib/rubycord/data/interaction.rb', line 613 def allow(object) case object when Rubycord::User, Rubycord::Member create_entry(object.id, USER, true) when Rubycord::Role create_entry(object.id, ROLE, true) else raise ArgumentError, "Unable to create permission for unknown type: #{object.class}" end end |
#allow_role(role_id) ⇒ PermissionBuilder
Allow a role to use this command.
584 585 586 |
# File 'lib/rubycord/data/interaction.rb', line 584 def allow_role(role_id) create_entry(role_id, ROLE, true) end |
#allow_user(user_id) ⇒ PermissionBuilder
Allow a user to use this command.
598 599 600 |
# File 'lib/rubycord/data/interaction.rb', line 598 def allow_user(user_id) create_entry(user_id, USER, true) end |
#deny(object) ⇒ PermissionBuilder
Deny an entity usage of this command.
628 629 630 631 632 633 634 635 636 637 |
# File 'lib/rubycord/data/interaction.rb', line 628 def deny(object) case object when Rubycord::User, Rubycord::Member create_entry(object.id, USER, false) when Rubycord::Role create_entry(object.id, ROLE, false) else raise ArgumentError, "Unable to create permission for unknown type: #{object.class}" end end |
#deny_role(role_id) ⇒ PermissionBuilder
Deny a role usage of this command.
591 592 593 |
# File 'lib/rubycord/data/interaction.rb', line 591 def deny_role(role_id) create_entry(role_id, ROLE, false) end |
#deny_user(user_id) ⇒ PermissionBuilder
Deny a user usage of this command.
605 606 607 |
# File 'lib/rubycord/data/interaction.rb', line 605 def deny_user(user_id) create_entry(user_id, USER, false) end |