Sha256: 964fb171491a4c6d0d04e17c61836f6188cb17cb21f10e33dafe48b32ac3eb1b
Contents?: true
Size: 849 Bytes
Versions: 4
Compression:
Stored size: 849 Bytes
Contents
# frozen_string_literal: true module PaperTrailScrapbook # Class LifeHistory provides Full multi version history # # @author Timothy Chambers <tim@hint.io> # class LifeHistory def initialize(object) @object = object @versions = Versions.new(object).versions end # Retries textual historical analysis of versions # # @return [String] analyzed versions # def story x = versions.map do |v| if primary?(v) Chapter else SecondaryChapter end.new(v).story end.compact x.reverse! if PaperTrailScrapbook.config.recent_first x.join("\n\n") end private def primary?(version) version.item_type.eql?(object.class.name) && version.item_id.equal?(object.id) end attr_reader :object, :versions end end
Version data entries
4 entries across 4 versions & 1 rubygems