Module: Slack::Web::Api::Mixins::Groups

Included in:
Endpoints
Defined in:
lib/slack/web/api/mixins/groups.id.rb

Instance Method Summary collapse

Instance Method Details

#groups_id(options = {}) ⇒ Object

This method returns a group ID given a group name.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (channel)

    Group channel to get ID for, prefixed with #.


11
12
13
14
15
16
17
18
19
20
21
# File 'lib/slack/web/api/mixins/groups.id.rb', line 11

def groups_id(options = {})
  name = options[:channel]
  throw ArgumentError.new('Required arguments :channel missing') if name.nil?
  return { 'ok' => true, 'group' => { 'id' => name } } unless name[0] == '#'
  groups_list.tap do |list|
    list.groups.each do |group|
      return Slack::Messages::Message.new('ok' => true, 'group' => { 'id' => group.id }) if group.name == name[1..-1]
    end
  end
  fail Slack::Web::Api::Error, 'channel_not_found'
end