Sha256: a11c0e8cf0dec488b59c0f166b12616657f7a14d405c3cb163a7947cc6d54ba3

Contents?: true

Size: 1.16 KB

Versions: 9

Compression:

Stored size: 1.16 KB

Contents

module Shamu
  module Auditing

    # Records audit {Transaction transactions} to record change requests made to
    # a {Services::Service} that includes auditing {Support}.
    #
    # > **Security Note** the audit service does not enforce any security policies
    # > for reading or writing. It is expected that audit transactions should be
    # > recordable by any service and that reading those audits will be limited by
    # > some admin only accessible resource. To expose the audit records via a web
    # > interface, create a proxy AuditingService that has it's own
    # > {Security::Policy} but delegates the actual reading and writing.
    class AuditingService < Services::Service

      def self.create( scorpion, *args )
        if defined? ActiveRecord
          scorpion.fetch Shamu::Auditing::ActiveRecord::Service, *args
        else
          fail "No available auditing service available."
        end
      end

      # Records an auditable event in persistent storage.
      # @param [Transaction] transaction
      # @return [AuditRecord] the persisted record.
      def commit( transaction )
        fail NotImplementedError
      end

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
shamu-0.0.13 lib/shamu/auditing/auditing_service.rb
shamu-0.0.11 lib/shamu/auditing/auditing_service.rb
shamu-0.0.9 lib/shamu/auditing/auditing_service.rb
shamu-0.0.8 lib/shamu/auditing/auditing_service.rb
shamu-0.0.7 lib/shamu/auditing/auditing_service.rb
shamu-0.0.5 lib/shamu/auditing/auditing_service.rb
shamu-0.0.4 lib/shamu/auditing/auditing_service.rb
shamu-0.0.3 lib/shamu/auditing/auditing_service.rb
shamu-0.0.2 lib/shamu/auditing/auditing_service.rb