Module: ConcernsOnRails::Models::Auditable::ClassMethods
- Includes:
- Support::ColumnGuard
- Defined in:
- lib/concerns_on_rails/models/auditable.rb
Instance Method Summary collapse
-
#auditable_by(*fields, into: DEFAULT_INTO, actor: nil, max_entries: DEFAULT_MAX_ENTRIES, max_value_length: nil) ⇒ Object
Configure the tracked fields and the audit column.
Methods included from Support::ColumnGuard
Instance Method Details
#auditable_by(*fields, into: DEFAULT_INTO, actor: nil, max_entries: DEFAULT_MAX_ENTRIES, max_value_length: nil) ⇒ Object
Configure the tracked fields and the audit column. See the module docs.
66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/concerns_on_rails/models/auditable.rb', line 66 def auditable_by(*fields, into: DEFAULT_INTO, actor: nil, max_entries: DEFAULT_MAX_ENTRIES, max_value_length: nil) fields = fields.flatten.map(&:to_sym).uniq into = into.to_sym validate_auditable!(fields, into: into, actor: actor, max_entries: max_entries, max_value_length: max_value_length) self.auditable_fields = fields self.auditable_into = into self.auditable_actor = actor self.auditable_max_entries = max_entries self.auditable_max_value_length = max_value_length ensure_columns!(LABEL, into, *fields) before_save :auditable_capture_changes end |