Sha256: 947eaa84124dcec8ab067ce4c1168274c138ac863af87c401f85c0236383e24e

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 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 )
        scorpion.fetch Shamu::Auditing::LoggingAuditingService, *args
      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

1 entries across 1 versions & 1 rubygems

Version Path
shamu-0.0.14 lib/shamu/auditing/auditing_service.rb