class Promiscuous::BlackHole::EmbeddedMessage
Attributes
embedding_message[R]
Public Class Methods
embedded_value?(value)
click to toggle source
# File lib/promiscuous_black_hole/embedded_message.rb, line 3 def self.embedded_value?(value) value.kind_of?(Hash) && ( value['types'] == ['Promiscuous::EmbeddedDocs'] || # format for embeds_many embeddings ['types', 'id', 'attributes'].all? { |attr| attr.in?(value.keys) } # format for embeds_one_embeddings ) end
from_embedded_value(value, parent_message)
click to toggle source
# File lib/promiscuous_black_hole/embedded_message.rb, line 10 def self.from_embedded_value(value, parent_message) if value['types'] == ['Promiscuous::EmbeddedDocs'] value['attributes'].map { |attr| new(attr, parent_message) } # format for embeds_many embeddings else [ new(value, parent_message) ] # format for embeds_one embeddings end end
new(raw_message, embedding_message)
click to toggle source
# File lib/promiscuous_black_hole/embedded_message.rb, line 18 def initialize(raw_message, embedding_message) @raw_message = raw_message @embedding_message = embedding_message end
Public Instance Methods
attributes()
click to toggle source
Calls superclass method
# File lib/promiscuous_black_hole/embedded_message.rb, line 23 def attributes super.merge( 'embedded_in_id' => embedding_message.id, 'embedded_in_table' => embedding_message.table_name ) end
operation()
click to toggle source
# File lib/promiscuous_black_hole/embedded_message.rb, line 30 def operation 'create' end