module PaperTrail::VersionModel
Constants
- DISPLAY_NAME_METHODS
Public Instance Methods
extract(*keys)
click to toggle source
# File lib/paper_trail/related_changes/version_model.rb, line 18 def extract(*keys) result = keys.map do |key| (object_changes || {})[key.to_s]&.last || (object || {})[key.to_s] end return result if keys.count > 1 result.first end
model_class()
click to toggle source
# File lib/paper_trail/related_changes/version_model.rb, line 14 def model_class item_type.constantize end
name()
click to toggle source
# File lib/paper_trail/related_changes/version_model.rb, line 8 def name call_by_name(self.next&.reify || live_record) rescue StandardError call_by_name(live_record) end
Private Instance Methods
call_by_name(record)
click to toggle source
# File lib/paper_trail/related_changes/version_model.rb, line 32 def call_by_name(record) DISPLAY_NAME_METHODS.map { |meth| record.try(meth) }.compact.first end
live_record()
click to toggle source
# File lib/paper_trail/related_changes/version_model.rb, line 28 def live_record model_class.find_by(id: item_id) end