audit_log 0.0.7 → 0.0.8
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/lib/audit_log/mapping.rb +2 -1
- data/lib/audit_log/observer.rb +16 -2
- data/lib/audit_log/version.rb +1 -1
- metadata +8 -8
    
        data/lib/audit_log/mapping.rb
    CHANGED
    
    | @@ -18,7 +18,8 @@ module AuditLog | |
| 18 18 | 
             
                def audit(model_name, options = {})
         | 
| 19 19 | 
             
                  @audit_mappings[model_name] = {
         | 
| 20 20 | 
             
                    ignored_fields: options[:ignore] || [],
         | 
| 21 | 
            -
                    nested_audited_models: []
         | 
| 21 | 
            +
                    nested_audited_models: [],
         | 
| 22 | 
            +
                    controllers: options[:controllers] || [model_name]
         | 
| 22 23 | 
             
                  }  
         | 
| 23 24 |  | 
| 24 25 | 
             
                  @current = @audit_mappings[model_name]
         | 
    
        data/lib/audit_log/observer.rb
    CHANGED
    
    | @@ -28,13 +28,18 @@ class AuditedModelsObserver < ActiveRecord::Observer | |
| 28 28 | 
             
                set_model_to_audit(model)
         | 
| 29 29 |  | 
| 30 30 | 
             
                if self.controller && self.controller.audited_model == model
         | 
| 31 | 
            +
                  what = {id: model.id, event: :destroy}
         | 
| 32 | 
            +
                  what = what.merge(ActiveSupport::JSON.decode(model.to_json(root: false, include: association_audit_loggers(model))))
         | 
| 33 | 
            +
                  
         | 
| 31 34 | 
             
                  logged_model = LoggedModel.new(
         | 
| 32 35 | 
             
                    who: self.controller.current_user_for_audit_log ? self.controller.current_user_for_audit_log.id : nil,
         | 
| 33 | 
            -
                    what:  | 
| 36 | 
            +
                    what: what,
         | 
| 34 37 | 
             
                    model_name: model.class.name,
         | 
| 35 38 | 
             
                    model_id: model.id
         | 
| 36 39 | 
             
                  )    
         | 
| 37 40 | 
             
                  logged_model.save
         | 
| 41 | 
            +
                  
         | 
| 42 | 
            +
                  self.controller.audited_model = nil
         | 
| 38 43 | 
             
                end
         | 
| 39 44 | 
             
              end
         | 
| 40 45 |  | 
| @@ -53,6 +58,8 @@ class AuditedModelsObserver < ActiveRecord::Observer | |
| 53 58 | 
             
                    )    
         | 
| 54 59 | 
             
                    logged_model.save
         | 
| 55 60 | 
             
                  end
         | 
| 61 | 
            +
                  
         | 
| 62 | 
            +
                  self.controller.audited_model = nil
         | 
| 56 63 | 
             
                end
         | 
| 57 64 | 
             
              end
         | 
| 58 65 |  | 
| @@ -132,11 +139,18 @@ class AuditedModelsObserver < ActiveRecord::Observer | |
| 132 139 | 
             
              private 
         | 
| 133 140 |  | 
| 134 141 | 
             
              def set_model_to_audit(model)
         | 
| 135 | 
            -
                if self.controller &&  | 
| 142 | 
            +
                if self.controller && is_controller_mapped_to_model(model) 
         | 
| 136 143 | 
             
                  self.controller.audited_model ||= model 
         | 
| 137 144 | 
             
                end  
         | 
| 138 145 | 
             
              end
         | 
| 139 146 |  | 
| 147 | 
            +
              def is_controller_mapped_to_model(model)
         | 
| 148 | 
            +
                controller_name = self.controller.params[:controller].sub("Controller", "").underscore.split("/").last
         | 
| 149 | 
            +
                mapped_controller_names = AuditLog::Mapping.instance.audit_mappings[model.class.to_s.underscore.to_sym][:controllers]  
         | 
| 150 | 
            +
                
         | 
| 151 | 
            +
                mapped_controller_names.collect{|e| e.to_s.singularize}.include?(controller_name.to_s.singularize)
         | 
| 152 | 
            +
              end
         | 
| 153 | 
            +
              
         | 
| 140 154 | 
             
              def has_some_association_changed?(model)
         | 
| 141 155 | 
             
                changed = false
         | 
| 142 156 |  | 
    
        data/lib/audit_log/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: audit_log
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.8
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012- | 
| 12 | 
            +
            date: 2012-11-26 00:00:00.000000000Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rails
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &69592980 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>'
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: '3.2'
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *69592980
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: sqlite3
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &69592560 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ! '>='
         | 
| @@ -32,10 +32,10 @@ dependencies: | |
| 32 32 | 
             
                    version: '0'
         | 
| 33 33 | 
             
              type: :development
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *69592560
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: rspec-rails
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &69592330 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ! '>='
         | 
| @@ -43,7 +43,7 @@ dependencies: | |
| 43 43 | 
             
                    version: '0'
         | 
| 44 44 | 
             
              type: :development
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *69592330
         | 
| 47 47 | 
             
            description: 
         | 
| 48 48 | 
             
            email:
         | 
| 49 49 | 
             
            - ti@connectere.agr.br
         |