class TimeStreamer::Adapters::PaperTrail
Public Instance Methods
current_record_from_version(version)
click to toggle source
# File lib/time_streamer/adapters/paper_trail.rb, line 29 def current_record_from_version(version) version.item end
find_version(id)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/time_streamer/adapters/paper_trail.rb, line 10 def identifier_for(record) "#{record.class}##{record&.id}" end
record_at_version(version)
click to toggle source
# 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()
click to toggle source
# File lib/time_streamer/adapters/paper_trail.rb, line 6 def search_placeholder 'ItemType#ItemId' end
version_data(version)
click to toggle source
# 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)
click to toggle source
# File lib/time_streamer/adapters/paper_trail.rb, line 33 def versions_of_record(record) record.versions.reorder created_at: :desc end