class Hotify::Role

Public Instance Methods

add_role(user_email, role_ids) click to toggle source
# File lib/hotify.rb, line 72
def add_role(user_email, role_ids)
  user = Hotify::Users.find_by(email: user_email)
  client.assign_role_to_user(user.id, role_ids)
end
all_roles() click to toggle source
# File lib/hotify.rb, line 23
def all_roles
  @_all_roles ||= client.get_roles.to_a
end
all_users() click to toggle source
# File lib/hotify.rb, line 42
def all_users
  @_all_users ||= users.all_users
end
all_users_and_roles() click to toggle source
# File lib/hotify.rb, line 46
def all_users_and_roles
  @_all_users_and_roles ||= all_users.map do | user |
    { user: user, role_ids: role_ids_from(user: user) }
  end
end
dump_role() click to toggle source
# File lib/hotify.rb, line 19
def dump_role
  client.get_roles.to_a.each{ |role| p role }
end
find_by(id) click to toggle source
# File lib/hotify.rb, line 87
def find_by(id)
  client.get_role(id)
end
find_by_name(name) click to toggle source
# File lib/hotify.rb, line 82
def find_by_name(name)
  name = "?name=#{name}"
  client.get_role(name)
end
leave_role(user_email, role_ids) click to toggle source
# File lib/hotify.rb, line 77
def leave_role(user_email, role_ids)
  user = Hotify::Users.find_by(email: user_email)
  client.remove_role_from_user(user.id, role_ids)
end
role_ids_from(user: ) click to toggle source
# File lib/hotify.rb, line 34
def role_ids_from(user: )
  client.get_user_roles(user.id)
end
role_in_user() click to toggle source
# File lib/hotify.rb, line 52
def role_in_user
  role_user = Hash.new { |h,k| h[k] = [] }

  all_roles.each do | role |
    all_users_and_roles.each do | user_and_role_ids |
      user_and_role_ids[:role_ids].each do | role_id |
        if role.id == role_id
          role_user[role.name].push(user_and_role_ids[:user])
        end
      end
    end
  end

  role_user.each do | role_name , users |
    users.uniq!
  end

  role_user
end
roles_from(user: ) click to toggle source
# File lib/hotify.rb, line 27
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
users() click to toggle source
# File lib/hotify.rb, line 38
def users
  @_users ||= Hotify::Users.new
end

Private Instance Methods

client() click to toggle source
# File lib/hotify.rb, line 93
def client
  @_client ||= Hotify::Auth.new.client
end