Sha256: 77cf707751d3209f736859f6c9fec4bd99492fb76d94fe1fbb4829f6be614337

Contents?: true

Size: 549 Bytes

Versions: 7

Compression:

Stored size: 549 Bytes

Contents

require 'wisper'

module ProxES
  class Listener
    def initialize
      @mutex = Mutex.new
    end

    def method_missing(method, *args)
      vals = { action: method }
      return unless args[0].is_a? Hash
      vals[:user] = args[0][:user] if args[0] && args[0].key?(:user)
      vals[:details] = args[0][:details] if args[0] && args[0].key?(:details)
      @mutex.synchronize { AuditLog.create vals }
    end

    def respond_to_missing?(_method, _include_private = false)
      true
    end
  end
end

Wisper.subscribe(ProxES::Listener.new)

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
proxes-0.7.1 lib/proxes/listener.rb
proxes-0.7.0 lib/proxes/listener.rb
proxes-0.6.1 lib/proxes/listener.rb
proxes-0.6.0 lib/proxes/listener.rb
proxes-0.5.2 lib/proxes/listener.rb
proxes-0.5.1 lib/proxes/listener.rb
proxes-0.5.0 lib/proxes/listener.rb