module Messaging::Message

Public Class Methods

included(cls) click to toggle source
# File lib/messaging/message.rb, line 3
def self.included(cls)
  cls.class_exec do
    include Schema::DataStructure

    extend Info
    extend Build
    extend Copy
    extend Follow
    extend Correlate

    const_set :Transform, Transform

    attribute :id, String
    attribute :metadata, Metadata, default: -> { Metadata.new }

    def self.transient_attributes
      [
        :id,
        :metadata
      ]
    end
  end
end
transient_attributes() click to toggle source
# File lib/messaging/message.rb, line 18
def self.transient_attributes
  [
    :id,
    :metadata
  ]
end

Public Instance Methods

follows?(other_message) click to toggle source
# File lib/messaging/message.rb, line 35
def follows?(other_message)
  metadata.follows?(other_message.metadata)
end
message_name() click to toggle source
# File lib/messaging/message.rb, line 31
def message_name
  self.class.message_name
end
message_type() click to toggle source
# File lib/messaging/message.rb, line 27
def message_type
  self.class.message_type
end