lib/diaspora_federation/entities/message.rb
# frozen_string_literal: true
module DiasporaFederation
module Entities
# This entity represents a private message exchanged in private conversation.
#
# @see Validators::MessageValidator
class Message < Entity
# @!attribute [r] author
# The diaspora* ID of the author
# @see Person#author
# @return [String] diaspora* ID
property :author, :string
# @!attribute [r] guid
# A random string of at least 16 chars
# @see Validation::Rule::Guid
# @return [String] guid
property :guid, :string
# @!attribute [r] text
# Text of the message composed by a user
# @return [String] text
property :text, :string
# @!attribute [r] created_at
# Message creation time
# @return [Time] creation time
property :created_at, :timestamp, default: -> { Time.now.utc }
# @!attribute [r] edited_at
# The timestamp when the message was edited
# @return [Time] edited time
property :edited_at, :timestamp, optional: true
# @!attribute [r] conversation_guid
# Guid of a conversation this message belongs to
# @see Conversation#guid
# @return [String] conversation guid
property :conversation_guid, :string
# @return [String] string representation of this object
def to_s
"#{super}:#{conversation_guid}"
end
end
end
end