Class: CeilingCat::Room
- Inherits:
-
Object
show all
- Defined in:
- lib/ceiling_cat/room.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(opts = {}) ⇒ Room
Returns a new instance of Room.
5
6
7
|
# File 'lib/ceiling_cat/room.rb', line 5
def initialize(opts={})
@connection = opts[:connection]
end
|
Instance Attribute Details
#connection ⇒ Object
Returns the value of attribute connection.
3
4
5
|
# File 'lib/ceiling_cat/room.rb', line 3
def connection
@connection
end
|
#me ⇒ Object
Returns the value of attribute me.
3
4
5
|
# File 'lib/ceiling_cat/room.rb', line 3
def me
@me
end
|
#room ⇒ Object
Returns the value of attribute room.
3
4
5
|
# File 'lib/ceiling_cat/room.rb', line 3
def room
@room
end
|
#users_in_room(type = nil) ⇒ Object
Returns the value of attribute users_in_room.
3
4
5
|
# File 'lib/ceiling_cat/room.rb', line 3
def users_in_room
@users_in_room
end
|
Instance Method Details
#available_commands(show_private = false) ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/ceiling_cat/room.rb', line 54
def available_commands(show_private=false)
messages = []
plugins.each do |plugin|
if !plugin.commands.empty? && (plugin.public? || show_private)
messages << "Commands for #{plugin.name}"
plugin.commands.each do |command|
messages << "-- #{command[:command]}: #{command[:description]}" if show_private || command[:public]
end
end
end
messages
end
|
#config ⇒ Object
30
31
32
|
# File 'lib/ceiling_cat/room.rb', line 30
def config
@connection.config
end
|
#list_of_users_in_room(type = nil) ⇒ Object
67
68
69
70
71
72
73
74
75
|
# File 'lib/ceiling_cat/room.rb', line 67
def list_of_users_in_room(type=nil)
users = users_in_room(type)
if users.size > 1
last_user = users.pop
return users.collect{|user| user.name }.join(", ") + " and #{ last_user.name}"
elsif users.size == 1
return users.first.name
end
end
|
#plugin(name) ⇒ Object
38
39
40
|
# File 'lib/ceiling_cat/room.rb', line 38
def plugin(name)
plugins.find{|plugin| plugin.name.downcase == name.to_s.downcase || plugin.class == name}
end
|
#plugin_descriptions(show_private = false) ⇒ Object
46
47
48
49
50
51
52
|
# File 'lib/ceiling_cat/room.rb', line 46
def plugin_descriptions(show_private=false)
messages = []
plugins.each do |plugin|
messages << "#{plugin.name}: #{plugin.description}" if show_private || plugin.public?
end
messages
end
|
#plugin_installed?(name) ⇒ Boolean
34
35
36
|
# File 'lib/ceiling_cat/room.rb', line 34
def plugin_installed?(name)
!plugin(name).nil?
end
|
#plugins ⇒ Object
26
27
28
|
# File 'lib/ceiling_cat/room.rb', line 26
def plugins
@connection.plugins
end
|
#say ⇒ Object
13
14
15
|
# File 'lib/ceiling_cat/room.rb', line 13
def say
raise NotImplementedError, "Implement in chat service files!"
end
|
#store ⇒ Object
42
43
44
|
# File 'lib/ceiling_cat/room.rb', line 42
def store
@connection.storage
end
|
#watch ⇒ Object
9
10
11
|
# File 'lib/ceiling_cat/room.rb', line 9
def watch
raise NotImplementedError, "Implement in chat service files!"
end
|