Class: RocketChat::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/rocket_chat/message.rb

Overview

Rocket.Chat Message

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Message

Returns a new instance of Message.

Parameters:

  • data (Hash)

    Raw message data



14
15
16
# File 'lib/rocket_chat/message.rb', line 14

def initialize(data)
  @data = Util.stringify_hash_keys data
end

Instance Attribute Details

#dataObject (readonly)

Raw user data



9
10
11
# File 'lib/rocket_chat/message.rb', line 9

def data
  @data
end

Instance Method Details

#aliasObject

Alias



49
50
51
# File 'lib/rocket_chat/message.rb', line 49

def alias
  data['alias']
end

#groupableObject

Groupable



59
60
61
# File 'lib/rocket_chat/message.rb', line 59

def groupable
  data['groupable']
end

#idObject

Message ID



19
20
21
# File 'lib/rocket_chat/message.rb', line 19

def id
  data['_id']
end

#inspectObject



63
64
65
66
67
68
69
70
71
72
# File 'lib/rocket_chat/message.rb', line 63

def inspect
  format(
    '#<%<class_name>s:0x%<object_id>p @id="%<id>s" @room="%<room_id>s" @msg="%<message>s">',
    class_name: self.class.name,
    object_id: object_id,
    id: id,
    room_id: room_id,
    message: message
  )
end

#messageObject

Message



44
45
46
# File 'lib/rocket_chat/message.rb', line 44

def message
  data['msg']
end

#parse_urlsObject

Parse URLs



54
55
56
# File 'lib/rocket_chat/message.rb', line 54

def parse_urls
  data['parseUrls']
end

#room_idObject

Room ID



34
35
36
# File 'lib/rocket_chat/message.rb', line 34

def room_id
  data['rid']
end

#timestampObject

Timestamp



24
25
26
# File 'lib/rocket_chat/message.rb', line 24

def timestamp
  Time.parse data['ts']
end

#updated_atObject

Updated at



29
30
31
# File 'lib/rocket_chat/message.rb', line 29

def updated_at
  Time.parse data['_updatedAt']
end

#userObject

User



39
40
41
# File 'lib/rocket_chat/message.rb', line 39

def user
  User.new data['u']
end