Method: GoodData::Project#fuzzy_get_user

Defined in:
lib/gooddata/models/project.rb

#fuzzy_get_user(name, user_list = users) ⇒ GoodDta::Membership

Gets user by its email, full_name, login or uri.

Parameters:

  • name (String)

    Name to look for

  • user_list (Array<GoodData::User>) (defaults to: users)

    Optional cached list of users used for look-ups

Returns:

  • (GoodDta::Membership)

    User


1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
# File 'lib/gooddata/models/project.rb', line 1241

def fuzzy_get_user(name, user_list = users)
  return name if name.instance_of?(GoodData::Membership)
  return member(name) if name.instance_of?(GoodData::Profile)
  name = name.is_a?(Hash) ? name[:login] || name[:uri] : name
  return nil unless name
  name.downcase!
  user_list.select do |user|
    user.uri.downcase == name ||
      user..downcase == name ||
      user.email.downcase == name
  end
  nil
end