module Slack::Web::Api::Mixins::Users
Constants
- Member
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 14 def users_id(options = {}) name = options[:user] throw ArgumentError.new('Required arguments :user missing') if name.nil? id_for(:user, name, '@', :members, 'user_not_found') do users_list end end
users_search(options = {})
click to toggle source
This method searches for users.
@option options [user] :user
Free-formed text to search for.
# File lib/slack/web/api/mixins/users.search.rb, line 14 def users_search(options = {}) query = options[:user] throw ArgumentError.new('Required arguments :user missing') if query.nil? index = Picky::Index.new(:users) do category :name category :first_name category :last_name category :real_name category :email end members = users_list.members members.each_with_index do |member, id| user = Member.new( id, member.name, member.profile.first_name, member.profile.last_name, member.profile.real_name, member.profile.email ) index.add(user) end ids = Picky::Search.new(index).search(query, 5, 0, unique: true).ids results = ids.map { |id| members[id] } Slack::Messages::Message.new('ok' => true, 'members' => results) end