Module: Whodunit::Chronicles

Extended by:
Dry::Configurable
Defined in:
lib/whodunit/chronicles.rb,
lib/whodunit/chronicles/table.rb,
lib/whodunit/chronicles/service.rb,
lib/whodunit/chronicles/version.rb,
lib/whodunit/chronicles/processor.rb,
lib/whodunit/chronicles/connection.rb,
lib/whodunit/chronicles/persistence.rb,
lib/whodunit/chronicles/change_event.rb,
lib/whodunit/chronicles/configuration.rb,
lib/whodunit/chronicles/adapters/mysql.rb,
lib/whodunit/chronicles/stream_adapter.rb,
lib/whodunit/chronicles/adapters/postgresql.rb

Overview

Chronicles - The complete historical record of whodunit did what? data

While Whodunit tracks who made changes, Chronicles captures what changed by streaming database events into comprehensive audit trails with zero Rails application overhead.

Defined Under Namespace

Modules: Adapters, Connection, Persistence, Table Classes: AdapterError, ChangeEvent, Configuration, ConfigurationError, Error, Processor, ReplicationError, Service, StreamAdapter

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.configure {|config| ... } ⇒ Object

Configure Chronicles

Examples:

Whodunit::Chronicles.configure do |config|
  config.database_url = "postgresql://localhost/myapp"
  config.audit_database_url = "postgresql://localhost/myapp_audit"
  config.adapter = :postgresql
  # OR for MySQL:
  config.adapter = :mysql
  config.mysql_server_id = 1001
end

Yields:

  • (config)


60
61
62
63
# File 'lib/whodunit/chronicles.rb', line 60

def self.configure
  yield(config) if block_given?
  config
end

.loggerDry::Logger

Get the configured logger

Returns:

  • (Dry::Logger)


68
69
70
# File 'lib/whodunit/chronicles.rb', line 68

def self.logger
  config.logger
end

.startService

Start the audit streaming service

Returns:



75
76
77
# File 'lib/whodunit/chronicles.rb', line 75

def self.start
  Service.new.start
end