Class: TimeStreamer::Adapters::PaperTrail
- Inherits:
-
Object
- Object
- TimeStreamer::Adapters::PaperTrail
- Defined in:
- lib/time_streamer/adapters/paper_trail.rb
Instance Method Summary collapse
- #current_record_from_version(version) ⇒ Object
- #find_version(id) ⇒ Object
- #find_versions_by_search_term(search_term) ⇒ Object
- #identifier_for(record) ⇒ Object
- #record_at_version(version) ⇒ Object
- #search_placeholder ⇒ Object
- #version_data(version) ⇒ Object
- #versions_of_record(record) ⇒ Object
Instance Method Details
#current_record_from_version(version) ⇒ Object
29 30 31 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 29 def current_record_from_version(version) version.item end |
#find_version(id) ⇒ Object
14 15 16 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 14 def find_version(id) ::PaperTrail::Version.find id end |
#find_versions_by_search_term(search_term) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 18 def find_versions_by_search_term(search_term) item_type, item_id = search_term.split '#', 2 ::PaperTrail::Version.includes(:item) .where(item_type: item_type, item_id: item_id) .order created_at: :desc end |
#identifier_for(record) ⇒ Object
10 11 12 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 10 def identifier_for(record) "#{record.class}##{record&.id}" end |
#record_at_version(version) ⇒ Object
25 26 27 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 25 def record_at_version(version) version.item.paper_trail.version_at version.created_at end |
#search_placeholder ⇒ Object
6 7 8 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 6 def search_placeholder 'ItemType#ItemId' end |
#version_data(version) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 37 def version_data(version) { id: version.id.to_s, title: "#{version.created_at.strftime '%-d. %-m. %Y %H:%M:%S'} - #{version.event}", metadata: "Request UUID: #{version.whodunnit}", changes: version.changeset } end |
#versions_of_record(record) ⇒ Object
33 34 35 |
# File 'lib/time_streamer/adapters/paper_trail.rb', line 33 def versions_of_record(record) record.versions.reorder created_at: :desc end |