Module: GBDev::CallbackLogger::ClassMethods

Defined in:
lib/callback_logger.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#callback_logger_modelObject

Returns the value of attribute callback_logger_model.



11
12
13
# File 'lib/callback_logger.rb', line 11

def callback_logger_model
  @callback_logger_model
end

#callback_logger_object_urlObject

Returns the value of attribute callback_logger_object_url.



11
12
13
# File 'lib/callback_logger.rb', line 11

def callback_logger_object_url
  @callback_logger_object_url
end

#callback_logger_text_attrObject

Returns the value of attribute callback_logger_text_attr.



11
12
13
# File 'lib/callback_logger.rb', line 11

def callback_logger_text_attr
  @callback_logger_text_attr
end

Instance Method Details

#log_callbacks(*args) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/callback_logger.rb', line 13

def log_callbacks(*args) 
  options = {:text => '', :object_url => {}, :aacl_model => 'AppLog'}
  options.merge!(args.pop) unless args.empty?    
  
  self.callback_logger_text_attr = options.delete(:text).to_sym unless options[:text].blank?        
  self.callback_logger_object_url = options.delete(:object_url)  

  mod = options.delete(:aacl_model).titleize.gsub(' ','')
  mod = ActiveSupport::Inflector.camelize(mod).constantize
  self.callback_logger_model = mod
               
  extend GBDev::CallbackLogger::SingletonMethods
  include GBDev::CallbackLogger::InstanceMethods
  
  class_eval do          
    after_create :log_create
    after_update :log_update
    after_destroy :log_destroy
  end # class_eval        
end