Sha256: 773253e411dda21262d829c35b85d7a08a2b5c58e4fd973a9600bb1fd77fa3bd

Contents?: true

Size: 780 Bytes

Versions: 4

Compression:

Stored size: 780 Bytes

Contents

# frozen_string_literal: true

require "paper_trail/events/base"

module PaperTrail
  module Events
    # See docs in `Base`.
    #
    # @api private
    class Create < Base
      # Return attributes of nascent `Version` record.
      #
      # @api private
      def data
        data = {
          event: @record.paper_trail_event || "create",
          whodunnit: PaperTrail.request.whodunnit
        }
        if @record.respond_to?(:updated_at)
          data[:created_at] = @record.updated_at
        end
        if record_object_changes? && changed_notably?
          changes = notable_changes
          data[:object_changes] = prepare_object_changes(changes)
        end
        merge_item_subtype_into(data)
        merge_metadata_into(data)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
paper_trail-10.2.0 lib/paper_trail/events/create.rb
paper_trail-10.1.0 lib/paper_trail/events/create.rb
paper_trail-10.0.1 lib/paper_trail/events/create.rb
paper_trail-10.0.0 lib/paper_trail/events/create.rb