change_logger 0.0.5 → 0.0.6
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.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
|