Class: Hotify::Role
- Inherits:
-
Object
- Object
- Hotify::Role
- Defined in:
- lib/hotify.rb
Instance Method Summary collapse
- #add_role(user, role) ⇒ Object
- #dump_all_users_and_roles ⇒ Object
- #dump_role ⇒ Object
- #find_by(id) ⇒ Object
- #find_by_name(name) ⇒ Object
-
#initialize ⇒ Role
constructor
A new instance of Role.
- #leave_role(user, role) ⇒ Object
- #role_in_user ⇒ Object
- #roles_from(user:) ⇒ Object
Constructor Details
Instance Method Details
#add_role(user, role) ⇒ Object
63 64 65 |
# File 'lib/hotify.rb', line 63 def add_role(user, role) @client.assign_role_to_user(user.id, [role.id]) end |
#dump_all_users_and_roles ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/hotify.rb', line 33 def dump_all_users_and_roles users = Hotify::Users.new all_users_and_roles = users.all_users.map do | user | { user: user, roles: roles_from(user: user) } end all_users_and_roles end |
#dump_role ⇒ Object
22 23 24 |
# File 'lib/hotify.rb', line 22 def dump_role @client.get_roles.to_a.each{ |role| p role } end |
#find_by(id) ⇒ Object
76 77 78 |
# File 'lib/hotify.rb', line 76 def find_by(id) @client.get_role(id) end |
#find_by_name(name) ⇒ Object
71 72 73 74 |
# File 'lib/hotify.rb', line 71 def find_by_name(name) name = "?name=#{name}" @client.get_role(name) end |
#leave_role(user, role) ⇒ Object
67 68 69 |
# File 'lib/hotify.rb', line 67 def leave_role(user, role) @client.remove_role_from_user(user.id, [role.id]) end |
#role_in_user ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/hotify.rb', line 42 def role_in_user all_users_and_roles = dump_all_users_and_roles all_roles = @client.get_roles.to_a role_user = Hash.new { |h,k| h[k] = [] } all_roles.each do | role | all_users_and_roles.each do | user_and_roles | user_and_roles[:roles].each do | role | role_user[role.name].push(user_and_roles[:user]) end end end role_user.each do | role_name , users | users.uniq! end role_user end |
#roles_from(user:) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/hotify.rb', line 26 def roles_from(user: ) role_ids = @client.get_user_roles(user.id) role_ids.map do | role_id | @client.get_role(role_id) end end |