Sha256: 24188ca86d0e4516a2105438051781357050e0a3de7fcc09b92cb8b7cfc0e252

Contents?: true

Size: 924 Bytes

Versions: 1

Compression:

Stored size: 924 Bytes

Contents

# Copyright:: (c) Autotelik Media Ltd 2016
# Author ::   Tom Statter
# Date ::     May 2016
# License::   MIT
#
# Details::   Holds the current context and load object related to a failure
#
module DataShift

  class FailureData

    attr_accessor :load_object
    attr_accessor :node_context

    attr_accessor :error_messages

    # The database object, and the inbound context that failed
    def initialize(load_object, node_context, error_messages = [])
      @load_object  = load_object
      @node_context = node_context

      @error_messages = [*error_messages]

      @error_messages += load_object.errors.full_messages if(load_object)
      @error_messages.uniq!
    end

    def errors
      error_messages
    end

    def destroy_failed_object
      if load_object
        if load_object.respond_to?('destroy') && !load_object.new_record?
          load_object.destroy
        end
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
datashift-0.40.3 lib/datashift/loaders/failure_data.rb