Class: Bulkrax::Configuration

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#api_definitionObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def api_definition
  @api_definition
end

#collection_model_classObject



112
113
114
# File 'lib/bulkrax.rb', line 112

def collection_model_class
  @collection_model_class ||= Collection if defined?(::Hyrax)
end

#csv_row_validatorsArray<#call>

Returns callable validators invoked per-row during CSV validation. Each callable receives (record, row_number, context).

Defaults to the four built-in CsvRow

validators.

Returns:

  • (Array<#call>)

    callable validators invoked per-row during CSV validation. Each callable receives (record, row_number, context).

    Defaults to the four built-in CsvRow

    validators.



196
197
198
199
200
201
202
203
204
205
206
# File 'lib/bulkrax.rb', line 196

def csv_row_validators
  @csv_row_validators ||= [
    Bulkrax::CsvRow::MissingSourceIdentifier,
    Bulkrax::CsvRow::DuplicateIdentifier,
    Bulkrax::CsvRow::ParentReference,
    Bulkrax::CsvRow::ChildReference,
    Bulkrax::CsvRow::CircularReference,
    Bulkrax::CsvRow::RequiredValues,
    Bulkrax::CsvRow::ControlledVocabulary
  ]
end

#curation_concernsObject



152
153
154
# File 'lib/bulkrax.rb', line 152

def curation_concerns
  @curation_concerns ||= defined?(::Hyrax) ? ::Hyrax.config.curation_concerns : []
end

#default_field_mappingObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def default_field_mapping
  @default_field_mapping
end

#default_work_typeObject



68
69
70
71
# File 'lib/bulkrax.rb', line 68

def default_work_type
  return nil if @default_work_type.nil?
  @default_work_type.to_s
end

#export_pathObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def export_path
  @export_path
end

#factory_class_name_coercer#call, Bulkrax::FactoryClassFinder::DefaultCoercer

A function responsible for converting the name of a factory class to the corresponding constant.

Examples:

Bulkrax.factory_class_name_coercer.call("Work")
=> Work

Returns:



108
109
110
# File 'lib/bulkrax.rb', line 108

def factory_class_name_coercer
  @factory_class_name_coercer || Bulkrax::FactoryClassFinder::DefaultCoercer
end

#field_mappingsObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def field_mappings
  @field_mappings
end

#file_model_classObject



132
133
134
# File 'lib/bulkrax.rb', line 132

def file_model_class
  @file_model_class ||= defined?(::Hyrax) ? ::FileSet : File
end

#fill_in_blank_source_identifiers#call

Returns with arity 2. The first parameter is a ApplicationParser and the second parameter is an Integer for the index of the record encountered in the import.

Returns:

  • (#call)

    with arity 2. The first parameter is a ApplicationParser and the second parameter is an Integer for the index of the record encountered in the import.



76
77
78
# File 'lib/bulkrax.rb', line 76

def fill_in_blank_source_identifiers
  @fill_in_blank_source_identifiers
end

#generated_metadata_mappingObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def 
  @generated_metadata_mapping
end

#guided_import_demo_scenarios_enabledObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def guided_import_demo_scenarios_enabled
  @guided_import_demo_scenarios_enabled
end

#guided_import_enabledObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def guided_import_enabled
  @guided_import_enabled
end

#import_pathObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def import_path
  @import_path
end

#ingest_queue_nameString, Proc

Returns:

  • (String, Proc)


177
178
179
180
181
# File 'lib/bulkrax.rb', line 177

def ingest_queue_name
  return @ingest_queue_name if @ingest_queue_name.present?
  return Hyrax.config.ingest_queue_name if defined?(Hyrax)
  :import
end

#multi_value_element_join_onObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def multi_value_element_join_on
  @multi_value_element_join_on
end

#multi_value_element_split_onObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def multi_value_element_split_on
  @multi_value_element_split_on
end

#object_factoryObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def object_factory
  @object_factory
end

#parsersObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def parsers
  @parsers
end

#qa_controlled_propertiesObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def qa_controlled_properties
  @qa_controlled_properties
end


37
38
39
# File 'lib/bulkrax.rb', line 37

def related_children_field_mapping
  @related_children_field_mapping
end


37
38
39
# File 'lib/bulkrax.rb', line 37

def related_parents_field_mapping
  @related_parents_field_mapping
end

#relationship_job_classObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def relationship_job_class
  @relationship_job_class
end

#removed_image_pathObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def removed_image_path
  @removed_image_path
end

#required_elementsObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def required_elements
  @required_elements
end

#reserved_propertiesObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def reserved_properties
  @reserved_properties
end

#server_nameObject



37
38
39
# File 'lib/bulkrax.rb', line 37

def server_name
  @server_name
end

#solr_key_for_member_file_idsString

Returns:

  • (String)

See Also:



85
86
87
88
89
90
91
# File 'lib/bulkrax.rb', line 85

def solr_key_for_member_file_ids
  return @solr_key_for_member_file_ids if @solr_key_for_member_file_ids.present?

  return "member_ids_ssim" if defined?(Hyrax)

  "#{file_model_class.name.to_s.underscore}_ids_ssim"
end

#use_lockingObject Also known as: use_locking?



185
186
187
188
189
# File 'lib/bulkrax.rb', line 185

def use_locking
  return @use_locking if defined?(@use_locking)

  ENV.key?("REDIS_HOST")
end

Instance Method Details

#collection_model_internal_resourceObject



118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/bulkrax.rb', line 118

def collection_model_internal_resource
  # WARN: Using #try on :internal_resource can yield unexpected results.
  # If the method is undefined, it can return a truthy value instead of
  # the typical nil.
  #
  # E.g.
  # ```ruby
  # Hyrax::FileSet.try(:internal_resource) || 'hi'
  # => #<Dry::Types::Result::Failure input=:internal_resource error=...
  # ```
  instance = collection_model_class.new
  instance.respond_to?(:internal_resource) ? instance.internal_resource : collection_model_class.to_s
end

#curation_concern_internal_resourcesObject



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/bulkrax.rb', line 158

def curation_concern_internal_resources
  curation_concerns.map do |cc|
    # WARN: Using #try on :internal_resource can yield unexpected results.
    # If the method is undefined, it can return a truthy value instead of
    # the typical nil.
    #
    # E.g.
    # ```ruby
    # Hyrax::FileSet.try(:internal_resource) || 'hi'
    # => #<Dry::Types::Result::Failure input=:internal_resource error=...
    # ```
    instance = cc.new
    instance.respond_to?(:internal_resource) ? instance.internal_resource : cc.to_s
  end.uniq
end

#file_model_internal_resourceObject



138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/bulkrax.rb', line 138

def file_model_internal_resource
  # WARN: Using #try on :internal_resource can yield unexpected results.
  # If the method is undefined, it can return a truthy value instead of
  # the typical nil.
  #
  # E.g.
  # ```ruby
  # Hyrax::FileSet.try(:internal_resource) || 'hi'
  # => #<Dry::Types::Result::Failure input=:internal_resource error=...
  # ```
  instance = file_model_class.new
  instance.respond_to?(:internal_resource) ? instance.internal_resource : file_model_class.to_s
end

#register_csv_row_validator(callable) ⇒ Object



210
211
212
# File 'lib/bulkrax.rb', line 210

def register_csv_row_validator(callable)
  csv_row_validators << callable
end