Sha256: c09493198ef60f545c2cf93dd6c8801843d2177ae1929fec6a36f954a776c866

Contents?: true

Size: 763 Bytes

Versions: 7

Compression:

Stored size: 763 Bytes

Contents

# frozen_string_literal: true

require_relative 'version_helpers'

module PaperTrailScrapbook
  # Class JournalEntry provides single version history analysis
  #
  # @author Jason Dinsmore <jason@dinjas.com>
  #
  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

7 entries across 7 versions & 1 rubygems

Version Path
paper_trail_scrapbook-0.1.17 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.16 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.15 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.13 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.12 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.11 lib/paper_trail_scrapbook/journal_entry.rb
paper_trail_scrapbook-0.1.10 lib/paper_trail_scrapbook/journal_entry.rb