Class: Firering::Message

Inherits:
Struct
  • Object
show all
Extended by:
Instantiator
Defined in:
lib/firering/data/message.rb,
lib/firering/data/message.rb

Constant Summary collapse

MESSAGE_TYPES =
%w[
  TextMessage PasteMessage SoundMessage AdvertisementMessage
  AllowGuestsMessage DisallowGuestsMessage IdleMessage KickMessage
  LeaveMessage SystemMessage TimestampMessage TopicChangeMessage
  UnidleMessage UnlockMessage UploadMessage
]

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Instantiator

instantiate

Instance Attribute Details

#bodyObject Also known as: to_s

Returns the value of attribute body

Returns:

  • (Object)

    the current value of body



2
3
4
# File 'lib/firering/data/message.rb', line 2

def body
  @body
end

#connectionObject

Returns the value of attribute connection

Returns:

  • (Object)

    the current value of connection



2
3
4
# File 'lib/firering/data/message.rb', line 2

def connection
  @connection
end

#created_atObject

Returns the value of attribute created_at

Returns:

  • (Object)

    the current value of created_at



2
3
4
# File 'lib/firering/data/message.rb', line 2

def created_at
  @created_at
end

#descriptionObject

Returns the value of attribute description

Returns:

  • (Object)

    the current value of description



2
3
4
# File 'lib/firering/data/message.rb', line 2

def description
  @description
end

#idObject

Returns the value of attribute id

Returns:

  • (Object)

    the current value of id



2
3
4
# File 'lib/firering/data/message.rb', line 2

def id
  @id
end

#room_idObject

Returns the value of attribute room_id

Returns:

  • (Object)

    the current value of room_id



2
3
4
# File 'lib/firering/data/message.rb', line 2

def room_id
  @room_id
end

#starredObject

Returns the value of attribute starred

Returns:

  • (Object)

    the current value of starred



2
3
4
# File 'lib/firering/data/message.rb', line 2

def starred
  @starred
end

#tweetObject

Returns the value of attribute tweet

Returns:

  • (Object)

    the current value of tweet



2
3
4
# File 'lib/firering/data/message.rb', line 2

def tweet
  @tweet
end

#typeObject

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



2
3
4
# File 'lib/firering/data/message.rb', line 2

def type
  @type
end

#urlObject

Returns the value of attribute url

Returns:

  • (Object)

    the current value of url



2
3
4
# File 'lib/firering/data/message.rb', line 2

def url
  @url
end

#user_idObject

Returns the value of attribute user_id

Returns:

  • (Object)

    the current value of user_id



2
3
4
# File 'lib/firering/data/message.rb', line 2

def user_id
  @user_id
end

Instance Method Details

#from_user?Boolean

Returns:

  • (Boolean)


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

def from_user?
  !user_id.nil? && (!user_id.instance_of?(String) || user_id !~ /^\s*$/)
end

#room(&callback) ⇒ Object



38
39
40
# File 'lib/firering/data/message.rb', line 38

def room(&callback)
  connection.room(room_id, &callback)
end

#star(id, yes_or_no = true, &callback) ⇒ Object

Highlights a message / Removes a message highlight.



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

def star(id, yes_or_no = true, &callback)
  connection.star_message(id, yes_or_no, &callback)
end

#user(&callback) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/firering/data/message.rb', line 42

def user(&callback)
  if from_user?
    connection.user(user_id, &callback)
  else
    callback.call(nil, connection)
  end
end