Sha256: b909033e73f372f28058d0d9fe474b1b2ba990f793c664a765a5b92020c13736

Contents?: true

Size: 760 Bytes

Versions: 5

Compression:

Stored size: 760 Bytes

Contents

# frozen_string_literal: true

require_relative 'version_helpers'

module PaperTrailScrapbook
  # Class JournalEntry provides single version history analysis
  #
  # @author Jason Dinsmore <jason@hint.io>
  #
  class JournalEntry
    include Concord.new(:version)
    include Adamantium::Flat
    include PaperTrailScrapbook::VersionHelpers

    delegate :event, to: :version

    # Single version historical analysis
    #
    # @return [String] Human readable description of changes
    #
    def story
      updates = changes
      return unless create? || updates.present? || !config.filter_non_changes

      "#{preface}\n#{updates}"
    end

    private

    def preface
      "On #{whenn}, #{kind} #{model}[#{model_id}]:".squeeze(' ')
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
paper_trail_scrapbook-0.2.0 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.21 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.20 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.19 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.18 lib/paper_trail_scrapbook/journal_entry.rb