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:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8f9e1486d4c3bf0fc430ed4f50b803e30afba2fe
         | 
| 4 | 
            +
              data.tar.gz: 40e598aba305e9829ebf96629c1b18b2cf1cebcb
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3c17e821361ed6f77c7cb934c5a39fdb532371128542e567703bd67d8eb3d1257ae4bee524ccbd1bfad4d909f04c421a19a23282f2b1433eb2d48eeac8092b51
         | 
| 7 | 
            +
              data.tar.gz: 86e384b5ebff16315ddf1d7cbf7a325f409eacb63926309b69744b85f50a26951bc09e83aa09466ac55be67b513f5be2d3d4be9ea9e3c32975c3476e3765909c
         | 
| @@ -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 | 
            -
                   | 
| 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,  | 
| 121 | 
            +
                def log(message, details: {})
         | 
| 119 122 | 
             
                  logger.logged_changes.build(
         | 
| 120 123 | 
             
                    user: EffectiveLogging.current_user,
         | 
| 121 | 
            -
                    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 }
         |