module Messaging::Message::Build

Public Instance Methods

build(data=nil, metadata=nil) click to toggle source
# File lib/messaging/message.rb, line 68
def build(data=nil, metadata=nil)
  data ||= {}
  metadata ||= {}

  metadata = build_metadata(metadata)

  new.tap do |instance|
    # Needed because Schema::DataStructure classes are expected
    # to support this protocol, but Message overrides build
    instance.transform_read(data)
    #

    set_attributes(instance, data)
    instance.metadata = metadata
  end
end
build_metadata(metadata) click to toggle source
# File lib/messaging/message.rb, line 89
def build_metadata(metadata)
  if metadata.nil?
    Metadata.new
  else
    Metadata.build(metadata.to_h)
  end
end
set_attributes(instance, data) click to toggle source
# File lib/messaging/message.rb, line 85
def set_attributes(instance, data)
  SetAttributes.(instance, data)
end