gbdev-acts_as_callback_logger 0.4.1 → 0.4.2

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/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