Class: Darlingtonia::RecordImporter

Inherits:
Object
  • Object
show all
Defined in:
lib/darlingtonia/record_importer.rb

Direct Known Subclasses

HyraxRecordImporter

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error_stream: Darlingtonia.config.default_error_stream, info_stream: Darlingtonia.config.default_info_stream) ⇒ RecordImporter

Returns a new instance of RecordImporter.

Parameters:

  • error_stream (#<<) (defaults to: Darlingtonia.config.default_error_stream)


20
21
22
23
24
# File 'lib/darlingtonia/record_importer.rb', line 20

def initialize(error_stream: Darlingtonia.config.default_error_stream,
               info_stream: Darlingtonia.config.default_info_stream)
  self.error_stream = error_stream
  self.info_stream  = info_stream
end

Instance Attribute Details

#batch_idString

Returns an optional batch id for this import run.

Returns:

  • (String)

    an optional batch id for this import run



16
# File 'lib/darlingtonia/record_importer.rb', line 16

attr_accessor :error_stream, :info_stream, :batch_id, :success_count, :failure_count

#error_stream#<<

Returns:

  • (#<<)


16
17
18
# File 'lib/darlingtonia/record_importer.rb', line 16

def error_stream
  @error_stream
end

#failure_countInteger

Returns a count of the records that failed import.

Returns:

  • (Integer)

    a count of the records that failed import



16
# File 'lib/darlingtonia/record_importer.rb', line 16

attr_accessor :error_stream, :info_stream, :batch_id, :success_count, :failure_count

#info_stream#<<

Returns:

  • (#<<)


16
# File 'lib/darlingtonia/record_importer.rb', line 16

attr_accessor :error_stream, :info_stream, :batch_id, :success_count, :failure_count

#success_countInteger

Returns a count of the records that were successfully created.

Returns:

  • (Integer)

    a count of the records that were successfully created



16
# File 'lib/darlingtonia/record_importer.rb', line 16

attr_accessor :error_stream, :info_stream, :batch_id, :success_count, :failure_count

Instance Method Details

#import(record:) ⇒ void

This method returns an undefined value.

Parameters:

  • record (ImportRecord)


30
31
32
33
34
35
36
37
# File 'lib/darlingtonia/record_importer.rb', line 30

def import(record:)
  create_for(record: record)
rescue Faraday::ConnectionFailed, Ldp::HttpError => e
  error_stream << e
rescue RuntimeError => e
  error_stream << e
  raise e
end

#import_typeObject



39
40
41
42
43
44
# File 'lib/darlingtonia/record_importer.rb', line 39

def import_type
  raise 'No curation_concern found for import' unless
    defined?(Hyrax) && Hyrax&.config&.curation_concerns&.any?

  Hyrax.config.curation_concerns.first
end