Class: SlackBot::Channel

Inherits:
Object
  • Object
show all
Defined in:
lib/slack/channel.rb

Instance Method Summary collapse

Constructor Details

#initialize(info, bot) ⇒ Channel

Returns a new instance of Channel.



3
4
5
6
# File 'lib/slack/channel.rb', line 3

def initialize(info, bot)
  @data = info
  @bot = bot
end

Instance Method Details

#[](key) ⇒ Object



8
9
10
# File 'lib/slack/channel.rb', line 8

def [](key)
  @data[key]
end

#archived?Boolean

Returns:

  • (Boolean)


21
# File 'lib/slack/channel.rb', line 21

def archived?; @data['is_archived'] end

#channel?Boolean

Returns:

  • (Boolean)


19
# File 'lib/slack/channel.rb', line 19

def channel?; @data['is_channel'] end

#creatorObject

Helpers!



13
14
15
# File 'lib/slack/channel.rb', line 13

def creator
  @bot.user @data['creator']
end

#idObject



16
# File 'lib/slack/channel.rb', line 16

def id; @data['id'] end

#membersObject



22
23
24
25
26
27
28
# File 'lib/slack/channel.rb', line 22

def members
  if user_channel?
    return [self.user]
  else
    return @data['members'].map { |id| @bot.user id }
  end
end

#nameObject



17
# File 'lib/slack/channel.rb', line 17

def name; @data['name'] end

#purposeObject



29
30
31
32
# File 'lib/slack/channel.rb', line 29

def purpose
  p = @data['purpose']
  p && p['value']
end

#to_sObject



38
39
40
41
42
43
44
# File 'lib/slack/channel.rb', line 38

def to_s
  if user_channel?
    user.to_s
  else
    "##{name}"
  end
end

#topicObject



33
34
35
36
# File 'lib/slack/channel.rb', line 33

def topic
  p = @data['topic']
  p && p['value']
end

#userObject



18
# File 'lib/slack/channel.rb', line 18

def user; @bot.user @data['user'] end

#user_channel?Boolean

Returns:

  • (Boolean)


20
# File 'lib/slack/channel.rb', line 20

def user_channel?; @data['is_im'] end