Class: RocketChat::Room
- Inherits:
-
Object
- Object
- RocketChat::Room
- Defined in:
- lib/rocket_chat/room.rb
Overview
Rocket.Chat Room
Constant Summary collapse
- TYPES =
{ 'c' => 'public', 'p' => 'private', 'd' => 'IM' }.freeze
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Raw user data.
Instance Method Summary collapse
- #created_at ⇒ Object
- #description ⇒ Object
-
#id ⇒ Object
Channel ID.
-
#initialize(data) ⇒ Room
constructor
A new instance of Room.
- #inspect ⇒ Object
-
#last_message ⇒ Object
Last message timestamp.
- #last_update ⇒ Object
-
#members ⇒ Object
Channel members.
-
#message_count ⇒ Object
Message count.
-
#name ⇒ Object
Channel name.
-
#owner ⇒ Object
Channel owner.
-
#read_only ⇒ Object
Read-only status.
-
#system_messages ⇒ Object
System messages (user left, got invited, room renamed, etc).
- #topic ⇒ Object
-
#type ⇒ Object
Channel type.
Constructor Details
#initialize(data) ⇒ Room
Returns a new instance of Room.
20 21 22 |
# File 'lib/rocket_chat/room.rb', line 20 def initialize(data) @data = Util.stringify_hash_keys data end |
Instance Attribute Details
#data ⇒ Object (readonly)
Raw user data
9 10 11 |
# File 'lib/rocket_chat/room.rb', line 9 def data @data end |
Instance Method Details
#created_at ⇒ Object
39 40 41 |
# File 'lib/rocket_chat/room.rb', line 39 def created_at data['ts'] end |
#description ⇒ Object
51 52 53 |
# File 'lib/rocket_chat/room.rb', line 51 def description data['description'] end |
#id ⇒ Object
Channel ID
25 26 27 |
# File 'lib/rocket_chat/room.rb', line 25 def id data['_id'] end |
#inspect ⇒ Object
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/rocket_chat/room.rb', line 85 def inspect format( '#<%<class_name>s:0x%<object_id>p @id="%<id>s" @name="%<name>s" @type="%<type>s">', class_name: self.class.name, object_id: object_id, id: id, name: name, type: type ) end |
#last_message ⇒ Object
Last message timestamp
71 72 73 |
# File 'lib/rocket_chat/room.rb', line 71 def data['lm'] end |
#last_update ⇒ Object
43 44 45 |
# File 'lib/rocket_chat/room.rb', line 43 def last_update data['_updatedAt'] end |
#members ⇒ Object
Channel members
56 57 58 |
# File 'lib/rocket_chat/room.rb', line 56 def members data['usernames'] || [] end |
#message_count ⇒ Object
Message count
66 67 68 |
# File 'lib/rocket_chat/room.rb', line 66 def data['msgs'] end |
#name ⇒ Object
Channel name
30 31 32 |
# File 'lib/rocket_chat/room.rb', line 30 def name data['name'] end |
#owner ⇒ Object
Channel owner
35 36 37 |
# File 'lib/rocket_chat/room.rb', line 35 def owner data['u'] end |
#read_only ⇒ Object
Read-only status
61 62 63 |
# File 'lib/rocket_chat/room.rb', line 61 def read_only data['ro'] end |
#system_messages ⇒ Object
System messages (user left, got invited, room renamed, etc)
81 82 83 |
# File 'lib/rocket_chat/room.rb', line 81 def data['sysMes'] end |
#topic ⇒ Object
47 48 49 |
# File 'lib/rocket_chat/room.rb', line 47 def topic data['topic'] end |
#type ⇒ Object
Channel type
76 77 78 |
# File 'lib/rocket_chat/room.rb', line 76 def type TYPES[data['t']] || data['t'] end |