Class: RecordVersion
- Inherits:
-
RecordVersionBase
- Object
- ActiveRecord::Base
- RecordVersionBase
- RecordVersion
- Includes:
- PaperTrail::VersionConcern
- Defined in:
- app/models/record_version.rb
Overview
== Schema Information
Table name: versions(partitioned,partition_key:created_at)
Database name: versions
id :integer not null, primary key
event :string(255) not null
ip :string(255)
item_type :string(255) not null
object_changes :jsonb
reference_data :jsonb
url :text
whodunnit :string(255)
created_at :datetime not null
item_id :integer not null
Constant Summary
Constants inherited from RecordVersionBase
RecordVersionBase::CONNECTION_ERRORS
Belongs to collapse
Class Method Summary collapse
- .ransackable_scopes(_auth_object = nil) ⇒ Array<Symbol>
-
.with_attribute_changed ⇒ ActiveRecord::Relation<RecordVersion>
A relation of RecordVersions that are with attribute changed.
Instance Method Summary collapse
- #changes ⇒ Hash
-
#object ⇒ Hash
Fake it!.
Methods inherited from RecordVersionBase
Class Method Details
.ransackable_scopes(_auth_object = nil) ⇒ Array<Symbol>
50 51 52 |
# File 'app/models/record_version.rb', line 50 def self.ransackable_scopes(_auth_object = nil) %i[with_changes_to] end |
.with_attribute_changed ⇒ ActiveRecord::Relation<RecordVersion>
A relation of RecordVersions that are with attribute changed. Active Record Scope
35 |
# File 'app/models/record_version.rb', line 35 scope :with_attribute_changed, ->(attribute) { where('object_changes ?& array[:keys]', keys: [attribute]) } |
Instance Method Details
#changes ⇒ Hash
44 45 46 |
# File 'app/models/record_version.rb', line 44 def changes (object_changes || {}).reject { |_k, v| v.all?(&:nil?) } end |
#item ⇒ ActiveRecord::Base
29 |
# File 'app/models/record_version.rb', line 29 belongs_to :item, polymorphic: true |
#object ⇒ Hash
Fake it!
39 40 41 |
# File 'app/models/record_version.rb', line 39 def object {} end |
#responsible_party ⇒ Party
27 |
# File 'app/models/record_version.rb', line 27 belongs_to :responsible_party, foreign_key: :whodunnit, class_name: 'Party', optional: true |