gbdev-acts_as_callback_logger 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,30 +1 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rake/rdoctask'
4
- require 'spec/rake/spectask'
5
-
6
-
7
- desc 'Test the acts_as_callback_logger plugin.'
8
- task :default => :spec
9
-
10
- desc 'Test the acts_as_callback_logger plugin.'
11
- Spec::Rake::SpecTask.new(:spec) do |t|
12
- t.spec_files = FileList['spec/**/*.rb']
13
- # t.fail_on_error = false
14
- end
15
-
16
- # Rake::TestTask.new(:test) do |t|
17
- # t.libs << 'lib'
18
- # t.pattern = 'test/**/*_test.rb'
19
- # t.verbose = true
20
- # end
21
-
22
- desc 'Generate documentation for the acts_as_callback_logger plugin.'
23
- Rake::RDocTask.new(:rdoc) do |rdoc|
24
- rdoc.rdoc_dir = 'rdoc'
25
- rdoc.title = 'ActsAsCallbackLogger'
26
- rdoc.options << '--line-numbers' << '--inline-source'
27
- rdoc.rdoc_files.include('README')
28
- rdoc.rdoc_files.include('lib/**/*.rb')
29
- end
30
-
1
+ load 'tasks/acts_as_callback_logger_tasks.rake'
data/init.rb CHANGED
@@ -1,16 +1 @@
1
- require 'active_record'
2
- require File.dirname(__FILE__) + "/lib/acts_as_callback_logger.rb"
3
- require File.dirname(__FILE__) + "/lib/callback_logger.rb"
4
- require File.dirname(__FILE__) + "/lib/logger_link_to.rb"
5
-
6
- # ActiveRecord::Base.class_eval do
7
- # include GBDev::Acts::CallbackLogger
8
- # include GBDev::CallbackLogger
9
- # end
10
-
11
- #ActionView::Helpers::AssetTagHelper.class_eval do
12
- # ActionView::Helpers::TagHelper.class_eval do
13
- # include GBDev::CallbackLogger::HelperMethods
14
- # end
15
-
16
- #ActionView::Helpers::FormHelper.send(:include, GBDev::CallbackLogger::HelperMethods)
1
+ require 'callback_logger'
@@ -1,99 +1,7 @@
1
- require 'active_record'
1
+ require 'callback_logger/acts_as_callback_logger'
2
+ require 'callback_logger/callback_logger.rb'
3
+ require 'callback_logger/logger_link_to.rb'
2
4
 
3
- module GBDev #:nodoc:
4
- module CallbackLogger #:nodoc:
5
-
6
- def self.included(mod)
7
- mod.extend(ClassMethods)
8
- end
9
-
10
- module ClassMethods
11
- attr_accessor :callback_logger_text_attr, # The text used to use for this entry. (ie user name). If not set the id will be used.
12
- :callback_logger_model, # The model this entry is storing
13
- :callback_logger_object_url, # The url to view this object in (ie show or edit view)
14
- :callback_logger_only, # Will only add a log entry if these attributes are changed on update
15
- :callback_logger_except # Will log all changes except these on update. If -only- is set then -except- will be ignored.
16
-
17
- def log_callbacks(*args)
18
- options = {:text => '', :object_url => {}, :aacl_model => 'AppLog', :only => [], :except => []}
19
- options.merge!(args.pop) unless args.empty?
20
-
21
- self.callback_logger_text_attr = options.delete(:text).to_sym unless options[:text].blank?
22
- self.callback_logger_object_url = options.delete(:object_url)
23
-
24
- mod = options.delete(:aacl_model).titleize.gsub(' ','')
25
- mod = ActiveSupport::Inflector.camelize(mod).constantize
26
- self.callback_logger_model = mod
27
-
28
- self.callback_logger_only = options.delete(:only)
29
- self.callback_logger_except = options.delete(:except)
30
-
31
- extend GBDev::CallbackLogger::SingletonMethods
32
- include GBDev::CallbackLogger::InstanceMethods
33
-
34
- class_eval do
35
- after_create :log_create
36
- after_update :log_update
37
- after_destroy :log_destroy
38
- end # class_eval
39
- end # log_callbacks
40
-
41
- end # ClassMethods
42
-
43
- module SingletonMethods
44
- # def some_method
45
- # end
46
- end # SingletonMethods
47
-
48
- module InstanceMethods
49
-
50
- def log_create
51
- data = "id||#{self.id}||#{self.id}|"
52
- class_name = self.class.to_s.titleize.downcase
53
- msg = "Created #{class_name} (#{text_to_display})"
54
- self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s})
55
- rescue Exception => msg
56
- # Just fail quietly
57
- end
58
-
59
- def log_update
60
- changes_to_log = self.changes
61
-
62
- if !self.class.callback_logger_only.empty?
63
- changes_to_log.delete_if { |key,value| !self.class.callback_logger_only.include?(key.to_sym) }
64
- elsif !self.class.callback_logger_except.empty?
65
- self.class.callback_logger_except.each { |key| changes_to_log.delete(key.to_s) }
66
- end
67
-
68
- data = changes_to_log.keys.collect{ |key| "#{key}||#{self.changes[key][0]}||#{self.changes[key][1]}" }.join('|::|')
69
- data = "id||#{self.id}||#{self.id}|::|#{data}" unless data.empty?
70
-
71
- class_name = self.class.to_s.titleize.downcase
72
- msg = "Updated #{class_name} (#{text_to_display})"
73
- self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s}) unless data.empty?
74
- rescue Exception => msg
75
- # Just fail quietly
76
- end
77
-
78
- def log_destroy
79
- data = self.attributes.keys.collect{ |key| "#{key}||#{self.attributes[key]}" }.join('|::|')
80
-
81
- class_name = self.class.to_s.titleize.downcase
82
- msg = "Deleted #{class_name} (#{text_to_display})"
83
- self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s})
84
- rescue Exception => msg
85
- # Just fail quietly
86
- end
87
-
88
-
89
- private
90
-
91
- def text_to_display
92
- self.class.callback_logger_text_attr.blank? ? self.id : self.send(self.class.callback_logger_text_attr)
93
- end
94
- end # InstanceMethods
95
-
96
- end # CallbackLogger
97
- end # GBDev
98
-
99
- ActiveRecord::Base.send(:include, GBDev::CallbackLogger)
5
+ if Object.const_defined?(:Rails) && File.directory?(Rails.root + "/public")
6
+ ActionView::Helpers::FormHelper.send(:include, GBDev::CallbackLogger::HelperMethods)
7
+ end
@@ -0,0 +1,113 @@
1
+ require 'active_record'
2
+
3
+ module GBDev #:nodoc:
4
+ module CallbackLogger #:nodoc:
5
+
6
+ def self.included(mod)
7
+ mod.extend(ClassMethods)
8
+ end
9
+
10
+ module ClassMethods
11
+ attr_accessor :callback_logger_text_attr, # The text used to use for this entry. (ie user name). If not set the id will be used.
12
+ :callback_logger_model, # The model this entry is storing
13
+ :callback_logger_object_url, # The url to view this object in (ie show or edit view)
14
+ :callback_logger_only, # Will only add a log entry if these attributes are changed on update
15
+ :callback_logger_except # Will log all changes except these on update. If -only- is set then -except- will be ignored.
16
+
17
+ def log_callbacks(*args)
18
+ options = {:text => '', :object_url => {}, :aacl_model => 'AppLog', :only => [], :except => []}
19
+ options.merge!(args.pop) unless args.empty?
20
+
21
+ self.callback_logger_text_attr = options.delete(:text).to_sym unless options[:text].blank?
22
+ self.callback_logger_object_url = options.delete(:object_url)
23
+
24
+ mod = options.delete(:aacl_model).titleize.gsub(' ','')
25
+ mod = ActiveSupport::Inflector.camelize(mod).constantize
26
+ self.callback_logger_model = mod
27
+
28
+ self.callback_logger_only = options.delete(:only)
29
+ self.callback_logger_except = options.delete(:except)
30
+
31
+ extend GBDev::CallbackLogger::SingletonMethods
32
+ include GBDev::CallbackLogger::InstanceMethods
33
+
34
+ class_eval do
35
+ before_save :get_association_changes
36
+ after_create :log_create
37
+ after_update :log_update
38
+ after_destroy :log_destroy
39
+ end # class_eval
40
+ end # log_callbacks
41
+
42
+ end # ClassMethods
43
+
44
+ module SingletonMethods
45
+ # def some_method
46
+ # end
47
+ end # SingletonMethods
48
+
49
+ module InstanceMethods
50
+
51
+ def get_association_changes
52
+ # debugger
53
+ # a='CALLBACK LOGGER 1'
54
+ end
55
+
56
+ def log_create
57
+ data = "id||#{self.id}||#{self.id}|"
58
+ class_name = self.class.to_s.titleize.downcase
59
+ msg = "Created #{class_name} (#{text_to_display})"
60
+
61
+ # debugger
62
+ # a='CALLBACK LOGGER 2'
63
+
64
+ self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s})
65
+ rescue Exception => msg
66
+ # Just fail quietly
67
+ end
68
+
69
+ def log_update
70
+ changes_to_log = self.changes
71
+
72
+ if !self.class.callback_logger_only.empty?
73
+ changes_to_log.delete_if { |key,value| !self.class.callback_logger_only.include?(key.to_sym) }
74
+ elsif !self.class.callback_logger_except.empty?
75
+ self.class.callback_logger_except.each { |key| changes_to_log.delete(key.to_s) }
76
+ end
77
+
78
+ data = changes_to_log.keys.collect{ |key| "#{key}||#{self.changes[key][0]}||#{self.changes[key][1]}" }.join('|::|')
79
+ data = "id||#{self.id}||#{self.id}|::|#{data}" unless data.empty?
80
+
81
+ class_name = self.class.to_s.titleize.downcase
82
+ msg = "Updated #{class_name} (#{text_to_display})"
83
+
84
+ # debugger
85
+ # a='CALLBACK LOGGER 3'
86
+
87
+ self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s}) unless data.empty?
88
+ rescue Exception => msg
89
+ # Just fail quietly
90
+ end
91
+
92
+ def log_destroy
93
+ data = self.attributes.keys.collect{ |key| "#{key}||#{self.attributes[key]}" }.join('|::|')
94
+
95
+ class_name = self.class.to_s.titleize.downcase
96
+ msg = "Deleted #{class_name} (#{text_to_display})"
97
+ self.class.callback_logger_model.create({:msg => msg, :data => data, :model => self.class.to_s})
98
+ rescue Exception => msg
99
+ # Just fail quietly
100
+ end
101
+
102
+
103
+ private
104
+
105
+ def text_to_display
106
+ self.class.callback_logger_text_attr.blank? ? self.id : self.send(self.class.callback_logger_text_attr)
107
+ end
108
+ end # InstanceMethods
109
+
110
+ end # CallbackLogger
111
+ end # GBDev
112
+
113
+ ActiveRecord::Base.send(:include, GBDev::CallbackLogger)
@@ -1,11 +1,11 @@
1
1
  require 'rubygems'
2
- require 'active_support'
2
+ require 'action_pack'
3
3
  #require 'action_view'
4
4
 
5
- module ActionView::Helpers::AssetTagHelper
6
- # module GBDev #:nodoc:
7
- # module CallbackLogger #:nodoc:
8
- # module HelperMethods #:nodoc:
5
+ #module ActionView::Helpers::AssetTagHelper
6
+ module GBDev #:nodoc:
7
+ module CallbackLogger #:nodoc:
8
+ module HelperMethods #:nodoc:
9
9
 
10
10
  def callback_logger_link_to(app_log_object)
11
11
  # TODO: add object checker stuff here....
@@ -39,11 +39,19 @@ module ActionView::Helpers::AssetTagHelper
39
39
  app_log_object.msg.gsub(content, link_to(content, model.callback_logger_object_url))
40
40
  end
41
41
 
42
- # end
43
- # end
44
- # end
42
+ end
43
+ end
45
44
  end
45
+ #end
46
46
 
47
47
  # module ActionView::Helpers::AssetTagHelper
48
48
  # include GBDev::CallbackLogger::HelperMethods
49
+ # end
50
+
51
+ # module ActionView
52
+ # module Helpers
53
+ # class FormBuilder
54
+ # include GBDev::CallbackLogger::HelperMethods
55
+ # end
56
+ # end
49
57
  # end
@@ -1,115 +1,115 @@
1
- # #!/usr/bin/env ruby -w
2
- # require File.join(File.expand_path(File.dirname(__FILE__)), 'spec_helper')
3
- #
4
- # if Object.const_defined?(:ActiveRecord) and Object.const_defined?(:Mocha) and Object.const_defined?(:Spec)
5
- #
6
- # class AppLog < ActiveRecord::Base
7
- # acts_as_callback_logger
8
- # end
9
- #
10
- # class Program < ActiveRecord::Base
11
- # log_callbacks :text => 'name'
12
- # end
13
- #
14
- # class GroupType < ActiveRecord::Base
15
- # log_callbacks :text => 'name'#, :object_url => {:controller => 'clients/charges', :action => 'edit'}
16
- # end
17
- #
18
- #
19
- # describe 'CallbackLogger' do
20
- #
21
- # before(:each) do
22
- # build_database_connection
23
- # InitialSchema.up
24
- #
25
- # AppLog.delete_all
26
- # Program.delete_all
27
- # GroupType.delete_all
28
- # @program = Program.new({:name => 'Some Program'})
29
- # @group_type = GroupType.new({:name => 'Some Group Type'})
30
- # end
31
- #
32
- # after(:each) do
33
- # InitialSchema.down
34
- # end
35
- #
36
- # describe 'AppLog' do
37
- #
38
- # it 'should not have any logs in it to start' do
39
- # AppLog.count.should be_zero
40
- # end
41
- #
42
- # it 'should undo the program name change' do
43
- # @program.save.should be_true
44
- # program_id = @program.id
45
- #
46
- # AppLog.count.should == 1
47
- # msg = "Created program (Some Program)"
48
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
49
- #
50
- # @program.name = 'Dog Man'
51
- # @program.save.should be_true
52
- # AppLog.count.should == 2
53
- # msg = "Updated program (Dog Man)"
54
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
55
- #
56
- # app_log = AppLog.find_by_msg(msg)
57
- # app_log.undo.should be_true
58
- # app_log.restored_at.should_not be_nil
59
- #
60
- # program = Program.find(program_id)
61
- # program.name.should == 'Some Program'
62
- # end
63
- #
64
- # it 'should undo the group type deletion' do
65
- # @group_type.save.should be_true
66
- #
67
- # group_type_id = @group_type.id
68
- #
69
- # AppLog.count.should == 1
70
- # msg = "Created group type (#{@group_type.name})"
71
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
72
- #
73
- # @group_type.destroy
74
- # GroupType.count.should == 0
75
- # msg = "Deleted group type (#{@group_type.name})"
76
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
77
- #
78
- # app_log = AppLog.find_by_msg("Deleted group type (#{@group_type.name})")
79
- # app_log.undo.should be_true
80
- # app_log.restored_at.should_not be_nil
81
- # end
82
- # end
83
- #
84
- # describe 'Models watched' do
85
- # it 'should add a created, updated and deleted entries to the app_logs table' do
86
- # @program.save.should be_true
87
- # program_id = @program.id
88
- # AppLog.count.should == 1
89
- # msg = "Created program (Some Program)"
90
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
91
- #
92
- # @group_type.save.should be_true
93
- # group_type_id = @group_type.id
94
- # AppLog.count.should == 2
95
- # msg = "Created group type (#{@group_type.name})"
96
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
97
- #
98
- # @program.name = 'Dog Man'
99
- # @program.save.should be_true
100
- # AppLog.count.should == 3
101
- # msg = "Updated program (Dog Man)"
102
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
103
- #
104
- # @group_type.destroy
105
- # AppLog.count.should == 4
106
- # msg = "Deleted group type (#{@group_type.name})"
107
- # AppLog.count(:conditions => ["msg = ?", msg]).should == 1
108
- # end
109
- # end
110
- #
111
- # end
112
- #
113
- # else
114
- # $stderr.puts "Warning: ActiveRecord, Spec or Mocha not found -- skipping AAR tests"
115
- # end
1
+ #!/usr/bin/env ruby -w
2
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'spec_helper')
3
+
4
+ if Object.const_defined?(:ActiveRecord) and Object.const_defined?(:Mocha) and Object.const_defined?(:Spec)
5
+
6
+ class AppLog < ActiveRecord::Base
7
+ acts_as_callback_logger
8
+ end
9
+
10
+ class Program < ActiveRecord::Base
11
+ log_callbacks :text => 'name'
12
+ end
13
+
14
+ class GroupType < ActiveRecord::Base
15
+ log_callbacks :text => 'name'#, :object_url => {:controller => 'clients/charges', :action => 'edit'}
16
+ end
17
+
18
+
19
+ describe 'CallbackLogger' do
20
+
21
+ before(:each) do
22
+ build_database_connection
23
+ InitialSchema.up
24
+
25
+ AppLog.delete_all
26
+ Program.delete_all
27
+ GroupType.delete_all
28
+ @program = Program.new({:name => 'Some Program'})
29
+ @group_type = GroupType.new({:name => 'Some Group Type'})
30
+ end
31
+
32
+ after(:each) do
33
+ InitialSchema.down
34
+ end
35
+
36
+ describe 'AppLog' do
37
+
38
+ it 'should not have any logs in it to start' do
39
+ AppLog.count.should be_zero
40
+ end
41
+
42
+ it 'should undo the program name change' do
43
+ @program.save.should be_true
44
+ program_id = @program.id
45
+
46
+ AppLog.count.should == 1
47
+ msg = "Created program (Some Program)"
48
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
49
+
50
+ @program.name = 'Dog Man'
51
+ @program.save.should be_true
52
+ AppLog.count.should == 2
53
+ msg = "Updated program (Dog Man)"
54
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
55
+
56
+ app_log = AppLog.find_by_msg(msg)
57
+ app_log.undo.should be_true
58
+ app_log.restored_at.should_not be_nil
59
+
60
+ program = Program.find(program_id)
61
+ program.name.should == 'Some Program'
62
+ end
63
+
64
+ it 'should undo the group type deletion' do
65
+ @group_type.save.should be_true
66
+
67
+ group_type_id = @group_type.id
68
+
69
+ AppLog.count.should == 1
70
+ msg = "Created group type (#{@group_type.name})"
71
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
72
+
73
+ @group_type.destroy
74
+ GroupType.count.should == 0
75
+ msg = "Deleted group type (#{@group_type.name})"
76
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
77
+
78
+ app_log = AppLog.find_by_msg("Deleted group type (#{@group_type.name})")
79
+ app_log.undo.should be_true
80
+ app_log.restored_at.should_not be_nil
81
+ end
82
+ end
83
+
84
+ describe 'Models watched' do
85
+ it 'should add a created, updated and deleted entries to the app_logs table' do
86
+ @program.save.should be_true
87
+ program_id = @program.id
88
+ AppLog.count.should == 1
89
+ msg = "Created program (Some Program)"
90
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
91
+
92
+ @group_type.save.should be_true
93
+ group_type_id = @group_type.id
94
+ AppLog.count.should == 2
95
+ msg = "Created group type (#{@group_type.name})"
96
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
97
+
98
+ @program.name = 'Dog Man'
99
+ @program.save.should be_true
100
+ AppLog.count.should == 3
101
+ msg = "Updated program (Dog Man)"
102
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
103
+
104
+ @group_type.destroy
105
+ AppLog.count.should == 4
106
+ msg = "Deleted group type (#{@group_type.name})"
107
+ AppLog.count(:conditions => ["msg = ?", msg]).should == 1
108
+ end
109
+ end
110
+
111
+ end
112
+
113
+ else
114
+ $stderr.puts "Warning: ActiveRecord, Spec or Mocha not found -- skipping AAR tests"
115
+ end
@@ -12,11 +12,12 @@ if Object.const_defined?(:ActiveRecord) and Object.const_defined?(:Mocha) and Ob
12
12
  end
13
13
 
14
14
  class Charge < ActiveRecord::Base
15
- log_callbacks :text => 'name'#, :object_url => {:controller => 'clients/charges', :action => 'edit'}
15
+ log_callbacks :text => 'name', :object_url => {:controller => 'clients/charges', :action => 'edit'}
16
16
  end
17
17
 
18
18
 
19
19
  describe 'GBDev::CallbackLogger::HelperMethods' do
20
+ include GBDev::CallbackLogger::HelperMethods
20
21
 
21
22
  before(:each) do
22
23
  build_database_connection
@@ -24,31 +25,30 @@ if Object.const_defined?(:ActiveRecord) and Object.const_defined?(:Mocha) and Ob
24
25
  end
25
26
 
26
27
  after(:each) do
27
- build_database_connection
28
28
  InitialSchema.down
29
29
  end
30
30
 
31
- describe 'logger_link_to' do
31
+ describe 'callback_logger_link_to' do
32
32
  it "should not be a link since :object_url is not set" do
33
33
  AppLog.delete_all
34
34
  Event.delete_all
35
35
  event = Event.new({:name => 'Some Event'})
36
36
  event.save.should be_true
37
37
  log = AppLog.find(:first)
38
- logger_link_to(log).should == "Created event (Some Event)"
38
+ callback_logger_link_to(log).should == "Created event (Some Event)"
39
39
  end
40
40
  end
41
41
 
42
- # describe 'logger_link_to' do
43
- # it "should build a link in the message between the parentheses" do
44
- # AppLog.delete_all
45
- # Charge.delete_all
46
- # charge = Charge.new({:name => 'Some Charge'})
47
- # charge.save.should be_true
48
- # log = AppLog.find(:first)
49
- # logger_link_to(log).should match(/Created charge \(<a href.*\/clients\/charges\/edit.*>Some Charge<\/a>\)/)
50
- # end
51
- # end
42
+ describe 'callback_logger_link_to' do
43
+ it "should build a link in the message between the parentheses" do
44
+ AppLog.delete_all
45
+ Charge.delete_all
46
+ charge = Charge.new({:name => 'Some Charge'})
47
+ charge.save.should be_true
48
+ log = AppLog.find(:first)
49
+ callback_logger_link_to(log).should match(/Created charge \(<a href.*\/clients\/charges\/edit.*>Some Charge<\/a>\)/)
50
+ end
51
+ end
52
52
  end
53
53
 
54
54
  else
@@ -0,0 +1,6 @@
1
+ --colour
2
+ --format
3
+ profile
4
+ --timeout
5
+ 20
6
+ --diff
@@ -1,45 +1,35 @@
1
+ $:.unshift(File.dirname(__FILE__) + "/../lib/")
2
+
3
+ require 'callback_logger'
4
+
1
5
  ENV["RAILS_ENV"] = "test"
2
6
  PLUGIN_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
7
 
4
8
  require 'rubygems'
5
9
  require 'ruby-debug'
6
- require 'active_record'
10
+
7
11
  require 'active_support'
12
+ require 'action_pack'
8
13
  require 'action_controller'
9
14
  require 'action_view'
15
+ require 'active_record'
16
+
10
17
  require 'rexml/document'
11
18
  require 'html/document'
12
19
  require 'mocha'
13
20
  require 'spec'
14
21
 
15
- require File.join(PLUGIN_ROOT, 'lib/acts_as_callback_logger')
16
- require File.join(PLUGIN_ROOT, 'lib/callback_logger')
17
- require File.join(PLUGIN_ROOT, 'lib/logger_link_to')
18
-
19
22
  include ActionView::Helpers::UrlHelper
20
23
  include ActionController::UrlWriter
21
24
  include ActionView::Helpers::AssetTagHelper
22
25
 
23
- #include GBDev::Acts::CallbackLogger
24
- #include GBDev::CallbackLogger
25
- #include GBDev::CallbackLogger::HelperMethods
26
-
27
- # config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
28
- # ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/debug.log')
29
- # ActiveRecord::Base.establish_connection(config[ENV['DB'] || 'postgresql'])
30
-
31
26
  ActionController::UrlWriter.default_url_options = {:host => 'localhost'}
32
27
  ActionController::Routing::Routes.draw do |map|
33
28
  map.connect ':controller/:action/:id'
34
29
  map.connect ':controller/:action/:id.:format'
35
30
  end
36
31
 
37
- load(File.dirname(__FILE__) + '/schema.rb') if File.exist?(File.dirname(__FILE__) + '/schema.rb')
38
-
39
- #ActionView::Helpers::AssetTagHelper.send :include, GBDev::CallbackLogger::HelperMethods
40
-
41
-
42
-
32
+ #load(File.dirname(__FILE__) + '/schema.rb') if File.exist?(File.dirname(__FILE__) + '/schema.rb')
43
33
 
44
34
 
45
35
  class InitialSchema < ActiveRecord::Migration
@@ -1,4 +1,139 @@
1
- # desc "Explaining what the task does"
2
- # task :acts_as_callback_logger do
3
- # # Task goes here
4
- # end
1
+ require 'rubygems'
2
+ require 'rubygems/gem_runner'
3
+ require 'rake/gempackagetask'
4
+ require 'rake/rdoctask'
5
+ require 'spec/rake/spectask'
6
+
7
+ PROJECT_GEM = 'gbdev-acts_as_callback_logger'
8
+ PROJECT_GEM_VERSION = '0.4.2'
9
+
10
+
11
+ ##############################################
12
+ # Set the default task
13
+ ##############################################
14
+ task :default => [:clobber_package, :package]
15
+ ##############################################
16
+
17
+
18
+ ##############################################
19
+ # Build gem release
20
+ ##############################################
21
+ desc 'Run spec tests and build gem release version'
22
+ task :release =>[:clean, :package]
23
+ ##############################################
24
+
25
+
26
+ ##############################################
27
+ # Clean up project by remove the package and rdocs
28
+ ##############################################
29
+ desc 'Calls both clobber_package clobber_rdoc'
30
+ task :clean => [:clobber_package, :clobber_rdoc]
31
+ ##############################################
32
+
33
+
34
+ ##############################################
35
+ # Build and install/update gem
36
+ ##############################################
37
+ desc 'Builds the gem and installs or updates the new gem'
38
+ task :install =>[:uninstall, :clean, :package] do
39
+ sh "gem install pkg/#{PROJECT_GEM}-#{PROJECT_GEM_VERSION}.gem"
40
+ end
41
+ ##############################################
42
+
43
+
44
+ ##############################################
45
+ # Build and install/update gem
46
+ ##############################################
47
+ task :uninstall => [:clean] do
48
+ begin
49
+ sh "gem uninstall -a #{PROJECT_GEM}"
50
+ rescue
51
+ # Do nothing since it is not installed
52
+ end
53
+ end
54
+ ##############################################
55
+
56
+
57
+ ##############################################
58
+ # Build the gem package
59
+ ##############################################
60
+ gem_spec_file = Gem::Specification.new do |s|
61
+ s.name = PROJECT_GEM
62
+ s.version = PROJECT_GEM_VERSION
63
+ s.platform = Gem::Platform::RUBY
64
+ #s.date = '2009-01-05'
65
+
66
+ s.homepage = 'http://github.com/gbdev/acts_as_callback_logger'
67
+ s.rubyforge_project = 'Project on www.github.com'
68
+ s.authors = ['Wes Hays', 'John Dell']
69
+ s.email = 'gems@gbdev.com'
70
+
71
+ s.summary = 'Rails gem/plugin to log callback events (after_create, after_update,
72
+ after_destroy) for certain models tracking various things that users
73
+ did within the application.'
74
+ s.description = 'Rails gem/plugin to log callback events (after_create, after_update,
75
+ after_destroy) for certain models tracking various things that users
76
+ did within the application. SEE README FOR MORE INFO.'
77
+
78
+ s.add_dependency('rcov','>= 0.8.1')
79
+ s.add_dependency('diff-lcs', '>= 1.1.2')
80
+
81
+ s.require_path = "lib"
82
+
83
+ s.files = ['install.rb',
84
+ 'uninstall.rb',
85
+ 'init.rb',
86
+ 'CHANGELOG',
87
+ 'LICENSE',
88
+ 'README',
89
+ 'Rakefile',
90
+ 'tasks/acts_as_callback_logger_tasks.rake'].concat(Dir['lib/**/*.rb'])
91
+
92
+ s.test_files = ['spec/spec.opts'].concat(Dir['spec/*_spec.rb'])
93
+
94
+ s.has_rdoc = true
95
+ s.extra_rdoc_files = %w{README LICENSE CHANGELOG}
96
+ s.rdoc_options << '--title' << 'ActsAsCallbackLogger Documentation' <<
97
+ '--main' << 'README' << '-q'
98
+ end
99
+
100
+ Rake::GemPackageTask.new(gem_spec_file) do |pkg|
101
+ pkg.need_zip = true
102
+ pkg.need_tar = false
103
+ end
104
+ ##############################################
105
+
106
+
107
+ ##############################################
108
+ # Used to build RDocs
109
+ ##############################################
110
+ desc 'Generate documentation for the acts_as_callback_logger plugin.'
111
+ Rake::RDocTask.new do |rdoc|
112
+ rdoc.rdoc_dir = 'doc/html'
113
+ rdoc.title = 'ActsAsCallbackLogger'
114
+ rdoc.options << '--line-numbers' << '--inline-source'
115
+ rdoc.main = 'README'
116
+ rdoc.rdoc_files.include('README',
117
+ 'CHANGELOG',
118
+ 'LICENSE',
119
+ 'lib/')
120
+ end
121
+ ##############################################
122
+
123
+
124
+ ##############################################
125
+ # Uses rcov to check spec coverage
126
+ ##############################################
127
+ #desc 'Run spec tests with rcov'
128
+ #task :spec_tests do
129
+ Spec::Rake::SpecTask.new do |t|
130
+ t.spec_files = FileList['spec/*_spec.rb']
131
+ t.spec_opts = ['--options', 'spec/spec.opts']
132
+ # unless ENV['NO_RCOV']
133
+ # t.rcov = true
134
+ # t.rcov_dir = 'coverage'
135
+ # t.rcov_opts = ['--text-report', '--exclude']
136
+ # end
137
+ end
138
+ #end
139
+ ##############################################
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.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wes Hays
@@ -10,38 +10,59 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2008-12-10 00:00:00 -08:00
13
+ date: 2009-01-11 00:00:00 -08:00
14
14
  default_executable:
15
- dependencies: []
16
-
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rcov
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.8.1
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: diff-lcs
27
+ version_requirement:
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.1.2
33
+ version:
17
34
  description: Rails gem/plugin to log callback events (after_create, after_update, after_destroy) for certain models tracking various things that users did within the application. SEE README FOR MORE INFO.
18
35
  email: gems@gbdev.com
19
36
  executables: []
20
37
 
21
38
  extensions: []
22
39
 
23
- extra_rdoc_files: []
24
-
25
- files:
40
+ extra_rdoc_files:
41
+ - README
42
+ - LICENSE
26
43
  - CHANGELOG
27
- - init.rb
44
+ files:
28
45
  - install.rb
46
+ - uninstall.rb
47
+ - init.rb
48
+ - CHANGELOG
29
49
  - LICENSE
30
- - Rakefile
31
50
  - README
32
- - uninstall.rb
33
- - lib/acts_as_callback_logger.rb
34
- - lib/callback_logger.rb
35
- - lib/logger_link_to.rb
36
- - spec/acts_as_callback_logger_spec.rb
37
- - spec/logger_link_to_spec.rb
38
- - spec/spec_helper.rb
51
+ - Rakefile
39
52
  - tasks/acts_as_callback_logger_tasks.rake
40
- has_rdoc: false
53
+ - lib/callback_logger.rb
54
+ - lib/callback_logger/acts_as_callback_logger.rb
55
+ - lib/callback_logger/callback_logger.rb
56
+ - lib/callback_logger/logger_link_to.rb
57
+ has_rdoc: true
41
58
  homepage: http://github.com/gbdev/acts_as_callback_logger
42
59
  post_install_message:
43
- rdoc_options: []
44
-
60
+ rdoc_options:
61
+ - --title
62
+ - ActsAsCallbackLogger Documentation
63
+ - --main
64
+ - README
65
+ - -q
45
66
  require_paths:
46
67
  - lib
47
68
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -58,11 +79,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
79
  version:
59
80
  requirements: []
60
81
 
61
- rubyforge_project:
82
+ rubyforge_project: Project on www.github.com
62
83
  rubygems_version: 1.2.0
63
84
  signing_key:
64
85
  specification_version: 2
65
86
  summary: Rails gem/plugin to log callback events (after_create, after_update, after_destroy) for certain models tracking various things that users did within the application.
66
87
  test_files:
88
+ - spec/spec.opts
67
89
  - spec/acts_as_callback_logger_spec.rb
90
+ - spec/logger_link_to_spec.rb
68
91
  - spec/spec_helper.rb