class SynchronizedModel::ModelMessage

Attributes

resource_classes[RW]
payload[R]
resource[R]

Public Class Methods

new(message) click to toggle source
# File lib/synchronized_model/model_message.rb, line 14
def initialize(message)
  @resource = message[:resource]
  @payload = Hash[message[:payload].map { |k, v| [k.to_sym, v] }]
end

Public Instance Methods

model() click to toggle source
# File lib/synchronized_model/model_message.rb, line 19
def model
  @model ||= resource_class&.from_queue_payload(payload)
end

Protected Instance Methods

resource_class() click to toggle source
# File lib/synchronized_model/model_message.rb, line 25
def resource_class
  SynchronizedModel.receive_resource_classes[resource.to_sym]
end