Class: ASIR::Coder::ActiveRecord::ResultModel

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

Defined Under Namespace

Classes: Migration

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#message_objectObject

Returns the value of attribute message_object.



37
38
39
# File 'lib/asir/coder/active_record/result_model.rb', line 37

def message_object
  @message_object
end

#objectObject

Returns the value of attribute object.



37
38
39
# File 'lib/asir/coder/active_record/result_model.rb', line 37

def object
  @object
end

#original_objectObject

Returns the value of attribute original_object.



37
38
39
# File 'lib/asir/coder/active_record/result_model.rb', line 37

def original_object
  @original_object
end

Instance Method Details

#prepare_for_save!Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/asir/coder/active_record/result_model.rb', line 47

def prepare_for_save!
  if result = self.object
    message = self.message_object || result.message
    self.external_id ||= result[:external_id]
    self.message_id  ||= result[:message_id]
    if message
      self.external_id ||= message[:external_id]
      self.message_id  ||= message[:message_id]
    end
    self.result_class = result.result.class.name.to_s
    if e = result.exception
      e = EncapsulatedException.new(e) unless EncapsulatedException === e
      self.exception_class = e.exception_class
      self.exception_message = e.exception_message
      self.exception_backtrace = (e.exception_backtrace * "\n") << "\n";
    end
  end
  # self.message_id &&= self.message_id.to_i
  # pp self
  if additional_data
    raise TypeError, "additional_data is not a String" \
      unless String === additional_data
  end
end

#update_original_object!Object



73
74
75
76
77
# File 'lib/asir/coder/active_record/result_model.rb', line 73

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