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