effective_logging 1.10.10 → 1.10.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 36b5a7ee3912d627929363f7ec120d03bf76c2be
4
- data.tar.gz: 23ff0c91d1e0722891f90d1c4e634f51b8e7211d
3
+ metadata.gz: fbbfbe91d61687d687bec5a337dc552ffbf03487
4
+ data.tar.gz: 6f5e24fd9cef93e38076cea14f5f713ff1cf6874
5
5
  SHA512:
6
- metadata.gz: 28905e79a34fd949c5675a5b1f6c27979a9bb7d40172c41f4c012201d26a7786627577b6b415338b9f798394085a2c0a69a905f6786ffe09d9de82c1242f7205
7
- data.tar.gz: ffeb205f6b400ba6e6c6b2fbb1bff92ef8454a453c7ed56549229d7abb39a8549c61ec6616d5abf65beb5ef3fe06c9cfe5da7472957f44f4fefbd942673a8321
6
+ metadata.gz: 1848b493da8d7b38b0725908fd820d3c26a0c15d0a7ed4d03957b413e0cd59f666592f77bb13cdca6daa44d46ea0ab51662e6def9d1af33b61415635929a6e30
7
+ data.tar.gz: f2cd75738f9dbf511a7a11c5bdce5f4fe9697071b356914bfc4e9838be7cc5b83ab3bfe1d82f21dad5fa4ea08414cb54e5c40e8b7d92a8f0f3615598da118ce9
@@ -20,7 +20,7 @@ module ActsAsLoggable
20
20
  @acts_as_loggable_new_record = new_record?
21
21
 
22
22
  unless @acts_as_loggable_new_record
23
- @acts_as_loggable_update_record = EffectiveLogging::ActiveRecordLogger.new(self, log_changes_options).changed!
23
+ @acts_as_loggable_update_record = EffectiveLogging::ActiveRecordLogger.new(self, log_changes_options).execute!
24
24
  end
25
25
 
26
26
  block.call
@@ -1,4 +1,4 @@
1
- class CreateEffectiveLogging < ActiveRecord::Migration
1
+ class CreateEffectiveLogging < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table <%= @logs_table_name %> do |t|
4
4
  t.integer :parent_id
@@ -9,6 +9,7 @@ module EffectiveLogging
9
9
 
10
10
  @object = object
11
11
  @resource = Effective::Resource.new(object)
12
+ @logged = false # If work was done
12
13
 
13
14
  @logger = options.delete(:logger) || object
14
15
  @depth = options.delete(:depth) || 0
@@ -26,6 +27,9 @@ module EffectiveLogging
26
27
  else
27
28
  changed!
28
29
  end
30
+ log_nested_resources!
31
+
32
+ @logged
29
33
  end
30
34
 
31
35
  # before_destroy
@@ -43,7 +47,8 @@ module EffectiveLogging
43
47
  log('Updated', details: applicable(resource.instance_attributes))
44
48
  end
45
49
 
46
- # before_save
50
+ private
51
+
47
52
  def changed!
48
53
  applicable(resource.instance_changes).each do |attribute, (before, after)|
49
54
  next if before == nil && after == ''.freeze
@@ -62,21 +67,19 @@ module EffectiveLogging
62
67
 
63
68
  log("#{attribute}: #{before.presence || BLANK} &rarr; #{after.presence || BLANK}", details: { attribute: attribute, before: before, after: after })
64
69
  end
70
+ end
65
71
 
72
+ def log_nested_resources!
66
73
  # Log changes on all accepts_as_nested_parameters has_many associations
67
74
  resource.nested_resources.each do |association|
68
75
  title = association.name.to_s.singularize.titleize
69
76
 
70
77
  Array(object.send(association.name)).each_with_index do |child, index|
71
- @logged ||= ActiveRecordLogger.new(child, options.merge(logger: logger, depth: (depth + 1), prefix: "#{title} #{index} - #{child} - ")).execute!
78
+ @logged = true if ActiveRecordLogger.new(child, options.merge(logger: logger, depth: depth+1, prefix: "#{title} #{index} - #{child} - ")).execute!
72
79
  end
73
80
  end
74
-
75
- @logged == true
76
81
  end
77
82
 
78
- private
79
-
80
83
  def log(message, details: {})
81
84
  @logged = true
82
85
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveLogging
2
- VERSION = '1.10.10'.freeze
2
+ VERSION = '1.10.11'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.10
4
+ version: 1.10.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-23 00:00:00.000000000 Z
11
+ date: 2017-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails