effective_logging 1.7.0 → 1.7.1

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: ad0a757a423a0d5b68a2d92bb665772c2e5ca8c0
4
- data.tar.gz: 8d779cd00a570d021e4685dd2c3c6ab4235f97bc
3
+ metadata.gz: 8f9e1486d4c3bf0fc430ed4f50b803e30afba2fe
4
+ data.tar.gz: 40e598aba305e9829ebf96629c1b18b2cf1cebcb
5
5
  SHA512:
6
- metadata.gz: 722d36f2d30fe97be38fb6af0f4d0bde3e27595ebbc25cfe17de3c1805127984dec04e5af9692805639d6dc5e64588700c612c2814f0fdd9b88fd1bc752fd0cb
7
- data.tar.gz: 27bf043f29c30a5e71b4ae0e458cc8b1526ce3875879709ddd244681ca9150eb835d732b1db7ac8987640274e5f9ffb6f7333754360c368069b864ebbbe51d10
6
+ metadata.gz: 3c17e821361ed6f77c7cb934c5a39fdb532371128542e567703bd67d8eb3d1257ae4bee524ccbd1bfad4d909f04c421a19a23282f2b1433eb2d48eeac8092b51
7
+ data.tar.gz: 86e384b5ebff16315ddf1d7cbf7a325f409eacb63926309b69744b85f50a26951bc09e83aa09466ac55be67b513f5be2d3d4be9ea9e3c32975c3476e3765909c
@@ -29,7 +29,7 @@
29
29
  %strong User:
30
30
   
31
31
  = (log.user.to_s.starts_with?('#<User:0x') ? (log.user.email rescue log.user) : log.user)
32
- - if log.associated.present?
32
+ - if (log.associated.present? rescue false)
33
33
  %br
34
34
  %strong Regarding:
35
35
  &nbsp;
@@ -6,12 +6,15 @@ module EffectiveLogging
6
6
 
7
7
  def initialize(resource, options = {})
8
8
  raise ArgumentError.new('options must be a Hash') unless options.kind_of?(Hash)
9
- raise ArgumentError.new('logger must respond to logged_changes') unless (options[:logger] || resource).respond_to?(:logged_changes)
10
9
 
11
10
  @resource = resource
12
11
  @logger = options.delete(:logger) || resource
13
12
  @depth = options.delete(:depth) || 0
14
13
  @options = options
14
+
15
+ unless @logger.respond_to?(:logged_changes) || @logger.respond_to?(:trash)
16
+ raise ArgumentError.new('logger must respond to logged_changes or trash')
17
+ end
15
18
  end
16
19
 
17
20
  # execute! is called when we recurse, otherwise the following methods are best called individually
@@ -27,7 +30,7 @@ module EffectiveLogging
27
30
 
28
31
  # before_destroy
29
32
  def trashed!
30
- log((resource.to_s rescue ''), status: EffectiveLogging.trashable_status, details: applicable(attributes))
33
+ log_trash((resource.to_s rescue ''), details: applicable(attributes))
31
34
  end
32
35
 
33
36
  # before_destroy
@@ -115,10 +118,19 @@ module EffectiveLogging
115
118
 
116
119
  private
117
120
 
118
- def log(message, status: EffectiveLogging.log_changes_status, details: {})
121
+ def log(message, details: {})
119
122
  logger.logged_changes.build(
120
123
  user: EffectiveLogging.current_user,
121
- status: status,
124
+ status: EffectiveLogging.log_changes_status,
125
+ message: "#{"\t" * depth}#{options[:prefix]}#{message}",
126
+ details: details
127
+ ).tap { |log| log.save }
128
+ end
129
+
130
+ def log_trash(message, details: {})
131
+ logger.build_trash(
132
+ user: EffectiveLogging.current_user,
133
+ status: EffectiveLogging.trashable_status,
122
134
  message: "#{"\t" * depth}#{options[:prefix]}#{message}",
123
135
  details: details
124
136
  ).tap { |log| log.save }
@@ -1,3 +1,3 @@
1
1
  module EffectiveLogging
2
- VERSION = '1.7.0'.freeze
2
+ VERSION = '1.7.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect