Module: CommandTower::Authorization::AssignableRoles
- Defined in:
- lib/command_tower/authorization/assignable_roles.rb
Constant Summary collapse
- OWNER_NAME =
"owner"
Class Method Summary collapse
Class Method Details
.assignable?(role) ⇒ Boolean
23 24 25 26 27 28 29 |
# File 'lib/command_tower/authorization/assignable_roles.rb', line 23 def assignable?(role) return false if role.nil? return false if role.allow_everything return false if role.name.to_s == OWNER_NAME role.source == :host end |
.assignable_name?(name) ⇒ Boolean
31 32 33 |
# File 'lib/command_tower/authorization/assignable_roles.rb', line 31 def assignable_name?(name) names.include?(name.to_s) end |
.catalog ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/command_tower/authorization/assignable_roles.rb', line 10 def catalog CommandTower::Authorization::Role.roles.values .select { |role| assignable?(role) } .sort_by { |role| role.name.to_s } .map do |role| { name: role.name.to_s, description: role.description.to_s } end end |
.names ⇒ Object
19 20 21 |
# File 'lib/command_tower/authorization/assignable_roles.rb', line 19 def names catalog.map { |entry| entry[:name] }.to_set end |