Module: GBDev::CallbackLogger::InstanceMethods

Defined in:
lib/callback_logger.rb

Overview

SingletonMethods

Instance Method Summary collapse

Instance Method Details

#log_createObject



50
51
52
53
54
55
56
57
# File 'lib/callback_logger.rb', line 50

def log_create  
  data = "id||#{self.id}||#{self.id}|"    
  class_name = self.class.to_s.titleize.downcase
  msg = "Created #{class_name} (#{text_to_display})"
  self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s})
rescue Exception => msg
  # Just fail quietly
end

#log_destroyObject



78
79
80
81
82
83
84
85
86
# File 'lib/callback_logger.rb', line 78

def log_destroy
  data = self.attributes.keys.collect{ |key| "#{key}||#{self.attributes[key]}" }.join('|::|')
  
  class_name = self.class.to_s.titleize.downcase
  msg = "Deleted #{class_name} (#{text_to_display})"
  self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s})          
rescue Exception => msg
  # Just fail quietly          
end

#log_updateObject



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/callback_logger.rb', line 59

def log_update
  changes_to_log = self.changes
  
  if !self.class.callback_logger_only.empty?
    changes_to_log.delete_if { |key,value| !self.class.callback_logger_only.include?(key.to_sym) }
  elsif !self.class.callback_logger_except.empty?
    self.class.callback_logger_except.each { |key| changes_to_log.delete(key.to_s) }
  end     
    
  data = changes_to_log.keys.collect{ |key| "#{key}||#{self.changes[key][0]}||#{self.changes[key][1]}" }.join('|::|')
  data = "id||#{self.id}||#{self.id}|::|#{data}" unless data.empty?
  
  class_name = self.class.to_s.titleize.downcase
  msg = "Updated #{class_name} (#{text_to_display})"
  self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s}) unless data.empty?
rescue Exception => msg
  # Just fail quietly          
end