ixtlan-audit 0.4.0 → 0.4.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.
- data/lib/ixtlan/audit/manager.rb +11 -4
- data/lib/ixtlan/audit/rack.rb +33 -2
- metadata +2 -2
    
        data/lib/ixtlan/audit/manager.rb
    CHANGED
    
    | @@ -27,9 +27,16 @@ module Ixtlan | |
| 27 27 | 
             
                  if defined? ::Slf4r
         | 
| 28 28 | 
             
                    include ::Slf4r::Logger
         | 
| 29 29 | 
             
                  else
         | 
| 30 | 
            -
                     | 
| 30 | 
            +
                    class Log
         | 
| 31 | 
            +
                      def info( msg )
         | 
| 32 | 
            +
                        puts "[Ixtlan::Audits] #{msg}"
         | 
| 33 | 
            +
                      end
         | 
| 34 | 
            +
                      def warn( msg )
         | 
| 35 | 
            +
                        warn "[Ixtlan::Audits] #{msg}"
         | 
| 36 | 
            +
                      end
         | 
| 37 | 
            +
                    end
         | 
| 31 38 | 
             
                    def logger
         | 
| 32 | 
            -
                      @logger ||=  | 
| 39 | 
            +
                      @logger ||= Log.new
         | 
| 33 40 | 
             
                    end
         | 
| 34 41 | 
             
                  end
         | 
| 35 42 |  | 
| @@ -87,9 +94,9 @@ module Ixtlan | |
| 87 94 | 
             
                    list.last
         | 
| 88 95 | 
             
                  end
         | 
| 89 96 |  | 
| 90 | 
            -
                  def save_all
         | 
| 97 | 
            +
                  def save_all( l = list )
         | 
| 91 98 | 
             
                    daily_cleanup
         | 
| 92 | 
            -
                     | 
| 99 | 
            +
                    l.each do |audit|
         | 
| 93 100 | 
             
                      begin
         | 
| 94 101 | 
             
                        audit.save
         | 
| 95 102 | 
             
                        if ( audit.respond_to?( :errors ) && audit.errors.size > 0 )
         | 
    
        data/lib/ixtlan/audit/rack.rb
    CHANGED
    
    | @@ -22,17 +22,48 @@ module Ixtlan | |
| 22 22 | 
             
              module Audit
         | 
| 23 23 | 
             
                class Rack
         | 
| 24 24 |  | 
| 25 | 
            +
                  def self.runner( manager )
         | 
| 26 | 
            +
                    @runner ||= Thread.new do
         | 
| 27 | 
            +
                      while true do
         | 
| 28 | 
            +
                        sleep 1
         | 
| 29 | 
            +
                        while not queue.empty?
         | 
| 30 | 
            +
                          list = queue.pop
         | 
| 31 | 
            +
                          manager.save_all( list )
         | 
| 32 | 
            +
                        end
         | 
| 33 | 
            +
                      end
         | 
| 34 | 
            +
                    end
         | 
| 35 | 
            +
                  end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                  def self.queue
         | 
| 38 | 
            +
                    @queue ||= Queue.new
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
             | 
| 25 41 | 
             
                  def initialize(app, audit_manager)
         | 
| 26 42 | 
             
                    @app = app
         | 
| 27 43 | 
             
                    @audit_manager = audit_manager
         | 
| 44 | 
            +
                    self.class.runner( audit_manager )
         | 
| 28 45 | 
             
                  end
         | 
| 29 46 |  | 
| 30 47 | 
             
                  def call(env)
         | 
| 31 48 | 
             
                    result = @app.call(env)
         | 
| 32 | 
            -
                    @audit_manager. | 
| 49 | 
            +
                    self.class.queue.push( @audit_manager.send( :list ) )
         | 
| 33 50 | 
             
                    result
         | 
| 34 51 | 
             
                  end
         | 
| 35 52 |  | 
| 53 | 
            +
                  if defined? Thread
         | 
| 54 | 
            +
                    def save_all
         | 
| 55 | 
            +
                      l = @audit_manager.send :list
         | 
| 56 | 
            +
                      f = Thread.new do
         | 
| 57 | 
            +
                        sleep 0.1
         | 
| 58 | 
            +
                        @audit_manager.save_all( l )
         | 
| 59 | 
            +
                      end
         | 
| 60 | 
            +
                    end
         | 
| 61 | 
            +
                  else
         | 
| 62 | 
            +
                    def save_all
         | 
| 63 | 
            +
                      @audit_manager.save_all
         | 
| 64 | 
            +
                    end
         | 
| 65 | 
            +
                  end
         | 
| 36 66 | 
             
                end
         | 
| 67 | 
            +
                Rack.queue
         | 
| 37 68 | 
             
              end
         | 
| 38 | 
            -
            end
         | 
| 69 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -2,14 +2,14 @@ | |
| 2 2 | 
             
            name: ixtlan-audit
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 4 | 
             
              prerelease:
         | 
| 5 | 
            -
              version: 0.4. | 
| 5 | 
            +
              version: 0.4.1
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| 8 8 | 
             
            - Christian Meier
         | 
| 9 9 | 
             
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013- | 
| 12 | 
            +
            date: 2013-02-22 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: slf4r
         |