module Slack::Web::Api::Mixins::Users

Public Instance Methods

users_id(options = {}) click to toggle source

This method returns a user ID given a user name.

@option options [user] :user

User to get ID for, prefixed with '@'.
# File lib/slack/web/api/mixins/users.id.rb, line 11
def users_id(options = {})
  name = options[:user]
  throw ArgumentError.new('Required arguments :user missing') if name.nil?
  return { 'ok' => true, 'user' => { 'id' => name } } unless name[0] == '@'
  users_list.tap do |list|
    list['members'].each do |user|
      return { 'ok' => true, 'user' => { 'id' => user['id'] } } if user['name'] == name[1..-1]
    end
  end
  fail Slack::Web::Api::Error, 'user_not_found'
end