change_logger 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +2 -1
- data/Manifest +1 -0
- data/Rakefile +1 -1
- data/change_logger.gemspec +4 -4
- data/lib/app/helpers/change_log_helper.rb +24 -0
- data/lib/change_logger/acts_as_change_logger.rb +12 -6
- metadata +4 -2
- metadata.gz.sig +4 -2
data.tar.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
�wX��u�n}T��"���<��Q��e�%�3T��< j��x�z��-��"��Ŷ��=�_pMP�X ��s����C��A���j�s�p�j�V�B5?�����x��#�rʾ����y�E�������wia@"Ɉ��0kc15�i$O���>��A�����,�Hd>f��m/P��(�f
|
2
|
+
s�b� �B���vlc������9�X���k¤��I-,j|FFk��Ҵ����e�4a
|
data/Manifest
CHANGED
@@ -8,6 +8,7 @@ features/log_changes.feature
|
|
8
8
|
features/step_definitions/log_changes_steps.rb
|
9
9
|
features/support/env.rb
|
10
10
|
features/support/hooks.rb
|
11
|
+
lib/app/helpers/change_log_helper.rb
|
11
12
|
lib/app/models/change_log.rb
|
12
13
|
lib/change_logger.rb
|
13
14
|
lib/change_logger/acts_as_change_logger.rb
|
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ require 'rake'
|
|
4
4
|
require 'echoe'
|
5
5
|
require 'env'
|
6
6
|
|
7
|
-
Echoe.new('change_logger', '0.0.
|
7
|
+
Echoe.new('change_logger', '0.0.6') do |p|
|
8
8
|
p.description = "A gem for tracking what changes and who did it"
|
9
9
|
p.url = "http://github.com/danengle/awesome_tables"
|
10
10
|
p.author = "Dan Engle"
|
data/change_logger.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{change_logger}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.6"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Dan Engle"]
|
9
9
|
s.cert_chain = ["/Users/danengle/.ssh/gem-public_cert.pem"]
|
10
|
-
s.date = %q{2011-
|
10
|
+
s.date = %q{2011-04-25}
|
11
11
|
s.description = %q{A gem for tracking what changes and who did it}
|
12
12
|
s.email = %q{engle.68 @nospam@ gmail.com}
|
13
|
-
s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/app/models/change_log.rb", "lib/change_logger.rb", "lib/change_logger/acts_as_change_logger.rb", "lib/change_logger/railtie.rb", "lib/change_logger/whodunnit.rb", "lib/generators/change_logger_generator.rb", "lib/generators/templates/create_change_logs.rb"]
|
14
|
-
s.files = ["CHANGELOG", "MIT-LICENSE", "Manifest", "README.rdoc", "Rakefile", "cucumber.yml.bac", "features/log_changes.feature", "features/step_definitions/log_changes_steps.rb", "features/support/env.rb", "features/support/hooks.rb", "lib/app/models/change_log.rb", "lib/change_logger.rb", "lib/change_logger/acts_as_change_logger.rb", "lib/change_logger/railtie.rb", "lib/change_logger/whodunnit.rb", "lib/generators/change_logger_generator.rb", "lib/generators/templates/create_change_logs.rb", "spec/factories.rb", "spec/migrate/20101201_init_test_db.rb", "spec/models/permission.rb", "spec/models/user.rb", "change_logger.gemspec"]
|
13
|
+
s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/app/helpers/change_log_helper.rb", "lib/app/models/change_log.rb", "lib/change_logger.rb", "lib/change_logger/acts_as_change_logger.rb", "lib/change_logger/railtie.rb", "lib/change_logger/whodunnit.rb", "lib/generators/change_logger_generator.rb", "lib/generators/templates/create_change_logs.rb"]
|
14
|
+
s.files = ["CHANGELOG", "MIT-LICENSE", "Manifest", "README.rdoc", "Rakefile", "cucumber.yml.bac", "features/log_changes.feature", "features/step_definitions/log_changes_steps.rb", "features/support/env.rb", "features/support/hooks.rb", "lib/app/helpers/change_log_helper.rb", "lib/app/models/change_log.rb", "lib/change_logger.rb", "lib/change_logger/acts_as_change_logger.rb", "lib/change_logger/railtie.rb", "lib/change_logger/whodunnit.rb", "lib/generators/change_logger_generator.rb", "lib/generators/templates/create_change_logs.rb", "spec/factories.rb", "spec/migrate/20101201_init_test_db.rb", "spec/models/permission.rb", "spec/models/user.rb", "change_logger.gemspec"]
|
15
15
|
s.homepage = %q{http://github.com/danengle/awesome_tables}
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Change_logger", "--main", "README.rdoc"]
|
17
17
|
s.require_paths = ["lib"]
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module ChangeLogHelper
|
2
|
+
# there has to be a better way to do this...
|
3
|
+
def change_log_whodunnit(change_log)
|
4
|
+
user = User.find_by_id(change_log.changed_by.try(:to_i))
|
5
|
+
if user.blank?
|
6
|
+
user = User.find_by_login(change_log.changed_by)
|
7
|
+
end
|
8
|
+
if user.nil?
|
9
|
+
change_log.changed_by
|
10
|
+
else
|
11
|
+
link_to user.full_name, user
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def change_log_item(change_log)
|
16
|
+
begin
|
17
|
+
klass = change_log.item_type.constantize
|
18
|
+
item = klass.find(change_log.item_id)
|
19
|
+
link_to "#{klass} #{item.id}", send("edit_admin_#{klass.to_s.downcase}_path", item)
|
20
|
+
rescue
|
21
|
+
"#{change_log.item_type} #{change_log.item_id}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -27,7 +27,7 @@ module ChangeLogger
|
|
27
27
|
after_update :record_attribute_updates
|
28
28
|
before_destroy :record_object_destruction
|
29
29
|
self.reflect_on_all_associations(:has_and_belongs_to_many).each do |reflection|
|
30
|
-
if reflection.options.keys.include?(:after_add) || reflection.options.keys.include?(:
|
30
|
+
if reflection.options.keys.include?(:after_add) || reflection.options.keys.include?(:after_remove)
|
31
31
|
logger.warn { "WARNING: change_logger adds after_add and after_remove options to has_and_belongs_to_many relationships. You need to combine your current methods with the record_association_* methods in order for change_logger to work correctly." }
|
32
32
|
end
|
33
33
|
new_options = { :after_add => :record_association_add, :after_remove => :record_association_remove }.merge(reflection.options)
|
@@ -42,16 +42,21 @@ module ChangeLogger
|
|
42
42
|
self.increment(:revision) if self.respond_to?(:revision)
|
43
43
|
end
|
44
44
|
|
45
|
+
def record_template_update(association)
|
46
|
+
self.template_changed = {association.to_sym => true}
|
47
|
+
end
|
48
|
+
|
45
49
|
def record_template_change
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
50
|
+
return if self.template_changed.nil?
|
51
|
+
# FIXME hash isn't necessary for self.template_changed, convert to using hash or remove need
|
52
|
+
# for it altogether
|
53
|
+
self.template_changed.keys.each do |relation|
|
54
|
+
record_change("#{relation}_template", ACTIONS[:update], self.send(relation).to_yaml)
|
51
55
|
end
|
52
56
|
end
|
53
57
|
|
54
58
|
def record_association_add(object)
|
59
|
+
# don't update individual adds if recording a template
|
55
60
|
if self.class.track_templates.include?(object.class.to_s.tableize)
|
56
61
|
self.template_changed = {} if self.template_changed.nil?
|
57
62
|
self.template_changed[object.class.to_s.tableize.to_sym] = true
|
@@ -77,6 +82,7 @@ module ChangeLogger
|
|
77
82
|
|
78
83
|
def record_attribute_updates
|
79
84
|
changes_to_track.each do |key, value|
|
85
|
+
::ApplicationController::logger.info { "* #{key}, #{value[0]}, #{value[1]}"}
|
80
86
|
record_change(key, value[0], value[1])
|
81
87
|
end
|
82
88
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: change_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Dan Engle
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
2MS0NMYj
|
32
32
|
-----END CERTIFICATE-----
|
33
33
|
|
34
|
-
date: 2011-
|
34
|
+
date: 2011-04-25 00:00:00 -05:00
|
35
35
|
default_executable:
|
36
36
|
dependencies: []
|
37
37
|
|
@@ -44,6 +44,7 @@ extensions: []
|
|
44
44
|
extra_rdoc_files:
|
45
45
|
- CHANGELOG
|
46
46
|
- README.rdoc
|
47
|
+
- lib/app/helpers/change_log_helper.rb
|
47
48
|
- lib/app/models/change_log.rb
|
48
49
|
- lib/change_logger.rb
|
49
50
|
- lib/change_logger/acts_as_change_logger.rb
|
@@ -62,6 +63,7 @@ files:
|
|
62
63
|
- features/step_definitions/log_changes_steps.rb
|
63
64
|
- features/support/env.rb
|
64
65
|
- features/support/hooks.rb
|
66
|
+
- lib/app/helpers/change_log_helper.rb
|
65
67
|
- lib/app/models/change_log.rb
|
66
68
|
- lib/change_logger.rb
|
67
69
|
- lib/change_logger/acts_as_change_logger.rb
|
metadata.gz.sig
CHANGED
@@ -1,2 +1,4 @@
|
|
1
|
-
d�9봯���m[/�*�{����W�``(���M[��\Zh��`�=pjk���ܟ�Ί�s�Bh�b�`��7�bS"�>��)����0܋.���d���ڬ`k�
|
2
|
-
��6��Z?'S��3&?����LD$t"+OG���:ZE����������K��P�����Ϻ�<7_�%Mzw��>�i�r�1$/��L�@�c�+�?���a�6�1�9�%,��}���
|
3
1
|
D����Vܕ��rw?}ʱo?���E�
|
2
|
+
���V�[1e,+���$��m}�e�]��6���$�2�7�t�Ex��hWk��!X>&���ř_���2Z9ՠe4�l�W�"RN�
|
3
|
+
秨�D�O�T0,�
|
4
|
+
i±�1�N�/^NדyR^-�'q�m2��=i�Y��$(X��T�c����d�� �-���2�A���~O<��ݒUN�B9�H�i�4����&�����ܷzȭ�(
|
5
|
+
a��Xkd����yTTE�2ޯ��%�R�[^H
|