Class: ASIR::Coder::ActiveRecord::MessageModel

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/asir/coder/active_record/message_model.rb

Defined Under Namespace

Classes: Migration

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#objectObject

Returns the value of attribute object.



46
47
48
# File 'lib/asir/coder/active_record/message_model.rb', line 46

def object
  @object
end

#original_objectObject

Returns the value of attribute original_object.



46
47
48
# File 'lib/asir/coder/active_record/message_model.rb', line 46

def original_object
  @original_object
end

Instance Method Details

#prepare_for_save!Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/asir/coder/active_record/message_model.rb', line 57

def prepare_for_save!
  if message = self.object
    self.external_id ||= original_object[:external_id]
    self.message_identifier ||= message.identifier
    x = original_object.message_kind
    self.receiver_class = x[0].to_s # original_object.receiver_class.name.to_s
    self.message_type   = x[1].to_s
    self.selector ||= message.selector.to_s
    self.description ||= (original_object[:description] || original_object.description).to_s
    self.payload ||= object_payload
  end
  if additional_data
    raise TypeError, "additional_data is not a String" \
      unless String === additional_data
  end
end

#update_original_object!Object



75
76
77
78
79
# File 'lib/asir/coder/active_record/message_model.rb', line 75

def update_original_object!
  if original_object
    original_object[:database_id] = self.id
  end
end