class Synapse::ProcessManager::Mongo::ProcessDocument
Mongo
document that represents a process instance
Public Instance Methods
from_hash(hash)
click to toggle source
@param [Hash] hash @return [ProcessDocument]
# File lib/synapse/process_manager/mongo/process_document.rb, line 31 def from_hash(hash) hash.symbolize_keys! @id = hash.fetch :_id @serialized = hash.fetch :serialized @type = hash.fetch :type @correlations = hash.fetch :correlations self end
from_process(process, serializer)
click to toggle source
@param [Process] process @param [Serializer] serializer @return [ProcessDocument]
# File lib/synapse/process_manager/mongo/process_document.rb, line 9 def from_process(process, serializer) serialized_process = serializer.serialize process, String @id = process.id @serialized = serialized_process.content @type = serialized_process.type.name @correlations = Array.new process.correlations.each do |correlation| correlation_hash = { key: correlation.key, value: correlation.value } @correlations.push correlation_hash end self end
to_hash()
click to toggle source
@return [Hash]
# File lib/synapse/process_manager/mongo/process_document.rb, line 43 def to_hash { _id: @id, serialized: @serialized, type: @type, correlations: @correlations } end
to_process(serializer)
click to toggle source
@param [Serializer] serializer @return [Process]
# File lib/synapse/process_manager/mongo/process_document.rb, line 52 def to_process(serializer) serialized_type = Serialization::SerializedType.new @type, nil serialized_object = Serialization::SerializedObject.new @serialized, String, serialized_type serializer.deserialize serialized_object end