# ash_paper_trail v0.6.0 - Table of Contents

> The extension for keeping an audit log of changes to your Ash resources.

## GUIDES

- [Home](readme.md)

- Tutorials
  - [Getting started with AshPaperTrail](getting-started-with-ash-paper-trail.md)

- DSLs
  - [AshPaperTrail.Resource](dsl-ashpapertrail-resource.md)
  - [AshPaperTrail.Domain](dsl-ashpapertrail-domain.md)

- About AshPaperTrail
  - [Change Log](changelog.md)

## Modules

- [AshPaperTrail](AshPaperTrail.md): Documentation for `AshPaperTrail`.

- [AshPaperTrail.ChangeBuilders.FullDiff](AshPaperTrail.ChangeBuilders.FullDiff.md):   Builds a diff of the changeset that is both fairly easy read and includes a complete
  representation of the changes mades.

- [AshPaperTrail.ChangeBuilders.FullDiff.EmbeddedChange](AshPaperTrail.ChangeBuilders.FullDiff.EmbeddedChange.md):   A simple attribute change will be represented as a map
- [AshPaperTrail.ChangeBuilders.FullDiff.Helpers](AshPaperTrail.ChangeBuilders.FullDiff.Helpers.md): Misc helpers for building a full diff of a changeset.

- [AshPaperTrail.ChangeBuilders.FullDiff.ListChange](AshPaperTrail.ChangeBuilders.FullDiff.ListChange.md): A list of changes represented as a map
- [AshPaperTrail.ChangeBuilders.FullDiff.SimpleChange](AshPaperTrail.ChangeBuilders.FullDiff.SimpleChange.md): A simple attribute change will be represented as a map
- [AshPaperTrail.ChangeBuilders.FullDiff.UnionChange](AshPaperTrail.ChangeBuilders.FullDiff.UnionChange.md):   A non-embedded union attribute change will be represented as a map
- [AshPaperTrail.Domain](AshPaperTrail.Domain.md): Documentation for `AshPaperTrail.Domain`.

- [AshPaperTrail.Domain.Info](AshPaperTrail.Domain.Info.md): Introspection helpers for `AshPaperTrail.Domain`
- [AshPaperTrail.Domain.Transformers.AllowResourceVersions](AshPaperTrail.Domain.Transformers.AllowResourceVersions.md): Adds any version resources to the domain for any resources.

- [AshPaperTrail.Resource](AshPaperTrail.Resource.md): Documentation for `AshPaperTrail.Resource`.

- [AshPaperTrail.Resource.BelongsToActor](AshPaperTrail.Resource.BelongsToActor.md): Represents a belongs_to_actor relationship on a version resource
- [AshPaperTrail.Resource.Changes.CreateNewVersion](AshPaperTrail.Resource.Changes.CreateNewVersion.md): Creates a new version whenever a resource is created, deleted, or updated
- [AshPaperTrail.Resource.Info](AshPaperTrail.Resource.Info.md): Introspection helpers for `AshPaperTrail.Resource`
- [AshPaperTrail.Resource.Metadata](AshPaperTrail.Resource.Metadata.md): Represents a metadata attribute on a version resource
- [AshPaperTrail.Resource.Transformers.CreateVersionResource](AshPaperTrail.Resource.Transformers.CreateVersionResource.md): Creates a version resource for a given resource
- [AshPaperTrail.Resource.Transformers.RelateVersionResource](AshPaperTrail.Resource.Transformers.RelateVersionResource.md): Relates the resource to its created version resource
- [AshPaperTrail.Resource.Transformers.ValidateBelongsToActor](AshPaperTrail.Resource.Transformers.ValidateBelongsToActor.md): Validates that when multiple belongs_to_actor options are defined that they all allow_nil? true
- [AshPaperTrail.Resource.Transformers.VersionOnChange](AshPaperTrail.Resource.Transformers.VersionOnChange.md): Adds the `CreateNewVersion` change to the resource.

