gbdev-acts_as_callback_logger 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/init.rb CHANGED
@@ -1,7 +1,8 @@
1
+ require 'active_record'
1
2
  require 'acts_as_callback_logger'
2
3
  require 'callback_logger'
3
4
 
4
- # ActiveRecord::Base.class_eval do
5
- # include GBDev::Acts::CallbackLogger
6
- # include GBDev::CallbackLogger
7
- # end
5
+ ActiveRecord::Base.class_eval do
6
+ include GBDev::Acts::CallbackLogger
7
+ include GBDev::CallbackLogger
8
+ end
@@ -16,6 +16,10 @@ module GBDev #:nodoc:
16
16
 
17
17
  extend GBDev::Acts::CallbackLogger::SingletonMethods
18
18
  include GBDev::Acts::CallbackLogger::InstanceMethods
19
+
20
+ # class_eval do
21
+ # # DO NOTHING FOR NOW
22
+ # end # class_eval
19
23
  end # acts_as_callback_logger
20
24
 
21
25
  end # ClassMethods
@@ -8,16 +8,26 @@ module GBDev #:nodoc:
8
8
  end
9
9
 
10
10
  module ClassMethods
11
- attr_accessor :callback_logger_text_attr
11
+ attr_accessor :callback_logger_text_attr, :aacl_model
12
12
 
13
13
  def log_callbacks(new_options = {})
14
- options = {:text => 'name'}
14
+ options = {:text => 'name', :aacl_model => 'AppLog'}
15
15
  options.merge!(new_options)
16
16
 
17
17
  self.callback_logger_text_attr = options[:text]
18
+
19
+ mod = options[:aacl_model].titleize.gsub(' ','')
20
+ mod = Inflector.camelize(mod).constantize
21
+ self.aacl_model = mod
18
22
 
19
23
  extend GBDev::CallbackLogger::SingletonMethods
20
24
  include GBDev::CallbackLogger::InstanceMethods
25
+
26
+ class_eval do
27
+ after_create :log_create
28
+ after_update :log_update
29
+ after_destroy :log_destroy
30
+ end # class_eval
21
31
  end # log_callbacks
22
32
 
23
33
  end # ClassMethods
@@ -28,17 +38,18 @@ module GBDev #:nodoc:
28
38
  end # SingletonMethods
29
39
 
30
40
  module InstanceMethods
31
- def after_create
41
+
42
+ def log_create
32
43
  self.class.callback_logger_text_attr = self.class.callback_logger_text_attr.to_sym
33
44
  class_name = self.class.to_s.titleize.downcase
34
45
  descr_text = self.send(self.class.callback_logger_text_attr)
35
46
  msg = "Created #{class_name} (#{descr_text})"
36
- AppLog.create({:msg => msg})
47
+ self.class.aacl_model.create({:msg => msg})
37
48
  rescue Exception => msg
38
49
  # Just fail quietly
39
50
  end
40
51
 
41
- def after_update
52
+ def log_update
42
53
  data = self.changes.keys.collect{ |key| "#{key}||#{self.changes[key][0]}||#{self.changes[key][1]}" }.join('|::|')
43
54
  data = "id||#{self.id}||#{self.id}|::|#{data}" unless data.empty?
44
55
 
@@ -46,22 +57,23 @@ module GBDev #:nodoc:
46
57
  class_name = self.class.to_s.titleize.downcase
47
58
  descr_text = self.send(self.class.callback_logger_text_attr)
48
59
  msg = "Updated #{class_name} (#{descr_text})"
49
- AppLog.create({:msg => msg, :data => data}) unless data.empty?
60
+ self.class.aacl_model.create({:msg => msg, :data => data}) unless data.empty?
50
61
  rescue Exception => msg
51
62
  # Just fail quietly
52
63
  end
53
-
54
- def after_destroy
64
+
65
+ def log_destroy
55
66
  data = self.attributes.keys.collect{ |key| "#{key}||#{self.attributes[key]}" }.join('|::|')
56
67
 
57
68
  self.class.callback_logger_text_attr = self.class.callback_logger_text_attr.to_sym
58
69
  class_name = self.class.to_s.titleize.downcase
59
70
  descr_text = self.send(self.class.callback_logger_text_attr)
60
71
  msg = "Deleted #{class_name} (#{descr_text})"
61
- AppLog.create({:msg => msg, :data => data})
72
+ self.class.aacl_model.create({:msg => msg, :data => data})
62
73
  rescue Exception => msg
63
74
  # Just fail quietly
64
75
  end
76
+
65
77
  end # InstanceMethods
66
78
 
67
79
  end # CallbackLogger
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,6 @@
1
- require "rubygems"
2
- require "active_record"
1
+ require 'rubygems'
2
+ require 'ruby-debug'
3
+ require 'active_record'
3
4
  require 'spec'
4
5
  require 'mocha'
5
6
 
@@ -10,9 +11,9 @@ include GBDev::Acts::CallbackLogger
10
11
  include GBDev::CallbackLogger
11
12
 
12
13
  config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
13
- ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
14
+ ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/debug.log')
14
15
  ActiveRecord::Base.establish_connection(config[ENV['DB'] || 'postgresql'])
15
16
 
16
- load(File.dirname(__FILE__) + "/schema.rb") if File.exist?(File.dirname(__FILE__) + "/schema.rb")
17
+ load(File.dirname(__FILE__) + '/schema.rb') if File.exist?(File.dirname(__FILE__) + '/schema.rb')
17
18
 
18
19
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gbdev-acts_as_callback_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wes Hays