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 CHANGED
@@ -1 +1,2 @@
1
- $��a�\7B5��Zc ��_����w]G�FC��N��������|g��q䫫�8n����ԑn�;���Ś&�'?����5�ߛ��
1
+ �wX��un}T��"���<��Q��e�%�3T��< j��xz��-��"��Ŷ��=�_pMP�X ��s����C��A���j�sp�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.5') do |p|
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"
@@ -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"
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-03-09}
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?(:before_add)
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
- self.template_changed = {} if self.template_changed.nil?
47
- if self.template_changed.values.include?(true)
48
- self.template_changed.keys.each do |relation|
49
- record_change("#{relation}_template", ACTIONS[:update], self.send(relation).to_yaml)
50
- end
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
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-03-09 00:00:00 -06:00
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