bulkrax 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/factories/bulkrax/object_factory.rb +2 -1
- data/app/jobs/bulkrax/create_relationships_job.rb +1 -1
- data/app/jobs/bulkrax/export_work_job.rb +7 -7
- data/app/jobs/bulkrax/importer_job.rb +2 -0
- data/app/models/bulkrax/csv_entry.rb +2 -10
- data/app/models/bulkrax/exporter.rb +4 -1
- data/app/models/bulkrax/importer.rb +13 -10
- data/app/models/bulkrax/importer_run.rb +2 -1
- data/app/models/bulkrax/pending_relationship.rb +1 -1
- data/app/models/concerns/bulkrax/export_behavior.rb +1 -1
- data/app/models/concerns/bulkrax/import_behavior.rb +2 -2
- data/app/models/concerns/bulkrax/status_info.rb +1 -1
- data/app/parsers/bulkrax/application_parser.rb +1 -0
- data/app/parsers/bulkrax/bagit_parser.rb +42 -18
- data/app/parsers/bulkrax/csv_parser.rb +4 -0
- data/app/views/bulkrax/exporters/_form.html.erb +10 -10
- data/app/views/bulkrax/exporters/show.html.erb +5 -0
- data/config/locales/bulkrax.en.yml +1 -0
- data/db/migrate/20220609001128_rename_bulkrax_importer_run_to_importer_run.rb +17 -0
- data/lib/bulkrax/version.rb +1 -1
- data/lib/generators/bulkrax/install_generator.rb +1 -1
- metadata +69 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0ee151bc10b7485eb716463b2c4895165d6df9d73c3dd60813d2eb4de8161d1
|
4
|
+
data.tar.gz: f4e5ddfb5ac602eb20a85850f8ec5a9286a9a668f8c83548dd049db4d91a2a0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5b029da7feaee11c8a3eb58e0c7150abcb06b6ca08f9d102134d5e1c9eef3049ae85b0084d74934b7504688da7d4958a0dc425c705b42101c1a3ce62a57d0c7
|
7
|
+
data.tar.gz: c807b68265c0d88b9e7faea4f6efdf94b3bcf90e965f5cc97cc259202bc55db976944eea8e4bf99876723f881d29d2fa7004dbd9985f7f8164648df517722133
|
@@ -61,6 +61,7 @@ module Bulkrax
|
|
61
61
|
work_actor.update(environment(attrs))
|
62
62
|
end
|
63
63
|
end
|
64
|
+
object.apply_depositor_metadata(@user) && object.save! if object.depositor.nil?
|
64
65
|
log_updated(object)
|
65
66
|
end
|
66
67
|
|
@@ -107,6 +108,7 @@ module Bulkrax
|
|
107
108
|
end
|
108
109
|
end
|
109
110
|
end
|
111
|
+
object.apply_depositor_metadata(@user) && object.save! if object.depositor.nil?
|
110
112
|
log_created(object)
|
111
113
|
end
|
112
114
|
|
@@ -141,7 +143,6 @@ module Bulkrax
|
|
141
143
|
attrs = clean_attrs(attrs)
|
142
144
|
attrs = collection_type(attrs)
|
143
145
|
object.attributes = attrs
|
144
|
-
object.apply_depositor_metadata(@user)
|
145
146
|
object.save!
|
146
147
|
end
|
147
148
|
|
@@ -33,7 +33,7 @@ module Bulkrax
|
|
33
33
|
# is the child in the relationship, and vice versa if a child_identifier is passed.
|
34
34
|
def perform(parent_identifier:, importer_run_id:) # rubocop:disable Metrics/AbcSize
|
35
35
|
pending_relationships = Bulkrax::PendingRelationship.find_each.select do |rel|
|
36
|
-
rel.
|
36
|
+
rel.importer_run_id == importer_run_id && rel.parent_id == parent_identifier
|
37
37
|
end.sort_by(&:order)
|
38
38
|
|
39
39
|
@importer_run_id = importer_run_id
|
@@ -6,26 +6,26 @@ module Bulkrax
|
|
6
6
|
|
7
7
|
def perform(*args)
|
8
8
|
entry = Entry.find(args[0])
|
9
|
+
exporter_run = ExporterRun.find(args[1])
|
9
10
|
begin
|
10
11
|
entry.build
|
11
12
|
entry.save
|
12
13
|
rescue StandardError
|
13
14
|
# rubocop:disable Rails/SkipsModelValidations
|
14
|
-
|
15
|
-
|
15
|
+
exporter_run.increment!(:failed_records)
|
16
|
+
exporter_run.decrement!(:enqueued_records) unless exporter_run.enqueued_records <= 0
|
16
17
|
raise
|
17
18
|
else
|
18
19
|
if entry.failed?
|
19
|
-
|
20
|
-
|
20
|
+
exporter_run.increment!(:failed_records)
|
21
|
+
exporter_run.decrement!(:enqueued_records) unless exporter_run.enqueued_records <= 0
|
21
22
|
raise entry.reload.current_status.error_class.constantize
|
22
23
|
else
|
23
|
-
|
24
|
-
|
24
|
+
exporter_run.increment!(:processed_records)
|
25
|
+
exporter_run.decrement!(:enqueued_records) unless exporter_run.enqueued_records <= 0
|
25
26
|
end
|
26
27
|
# rubocop:enable Rails/SkipsModelValidations
|
27
28
|
end
|
28
|
-
exporter_run = ExporterRun.find(args[1])
|
29
29
|
return entry if exporter_run.enqueued_records.positive?
|
30
30
|
|
31
31
|
if exporter_run.failed_records.positive?
|
@@ -12,6 +12,8 @@ module Bulkrax
|
|
12
12
|
import(importer, only_updates_since_last_import)
|
13
13
|
update_current_run_counters(importer)
|
14
14
|
schedule(importer) if importer.schedulable?
|
15
|
+
rescue CSV::MalformedCSVError => e
|
16
|
+
importer.status_info(e)
|
15
17
|
end
|
16
18
|
|
17
19
|
def import(importer, only_updates_since_last_import)
|
@@ -114,9 +114,10 @@ module Bulkrax
|
|
114
114
|
def build_files_metadata
|
115
115
|
file_mapping = key_for_export('file')
|
116
116
|
file_sets = hyrax_record.file_set? ? Array.wrap(hyrax_record) : hyrax_record.file_sets
|
117
|
-
filenames = file_sets
|
117
|
+
filenames = map_file_sets(file_sets)
|
118
118
|
|
119
119
|
handle_join_on_export(file_mapping, filenames, mapping['file']&.[]('join')&.present?)
|
120
|
+
build_thumbnail_files if hyrax_record.work?
|
120
121
|
end
|
121
122
|
|
122
123
|
def build_relationship_metadata
|
@@ -219,15 +220,6 @@ module Bulkrax
|
|
219
220
|
end
|
220
221
|
end
|
221
222
|
|
222
|
-
def build_files
|
223
|
-
file_mapping = mapping['file']&.[]('from')&.first || 'file'
|
224
|
-
file_sets = hyrax_record.file_set? ? Array.wrap(hyrax_record) : hyrax_record.file_sets
|
225
|
-
|
226
|
-
filenames = map_file_sets(file_sets)
|
227
|
-
handle_join_on_export(file_mapping, filenames, mapping['file']&.[]('join')&.present?)
|
228
|
-
build_thumbnail_files if hyrax_record.work?
|
229
|
-
end
|
230
|
-
|
231
223
|
def build_thumbnail_files
|
232
224
|
return unless importerexporter.include_thumbnails
|
233
225
|
|
@@ -14,13 +14,15 @@ module Bulkrax
|
|
14
14
|
validates :name, presence: true
|
15
15
|
validates :parser_klass, presence: true
|
16
16
|
|
17
|
-
delegate :write, :create_from_collection, :create_from_importer, :create_from_worktype, :create_from_all, to: :parser
|
17
|
+
delegate :write, :create_from_collection, :create_from_collections_metadata, :create_from_importer, :create_from_worktype, :create_from_all, to: :parser
|
18
18
|
|
19
19
|
def export
|
20
20
|
current_run && setup_export_path
|
21
21
|
case self.export_from
|
22
22
|
when 'collection'
|
23
23
|
create_from_collection
|
24
|
+
when 'collections metadata'
|
25
|
+
create_from_collections_metadata
|
24
26
|
when 'importer'
|
25
27
|
create_from_importer
|
26
28
|
when 'worktype'
|
@@ -87,6 +89,7 @@ module Bulkrax
|
|
87
89
|
[
|
88
90
|
[I18n.t('bulkrax.exporter.labels.importer'), 'importer'],
|
89
91
|
[I18n.t('bulkrax.exporter.labels.collection'), 'collection'],
|
92
|
+
[I18n.t('bulkrax.exporter.labels.collections_metadata'), 'collections metadata'],
|
90
93
|
[I18n.t('bulkrax.exporter.labels.worktype'), 'worktype'],
|
91
94
|
[I18n.t('bulkrax.exporter.labels.all'), 'all']
|
92
95
|
]
|
@@ -96,16 +96,19 @@ module Bulkrax
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def current_run
|
99
|
-
@current_run
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
99
|
+
return @current_run if @current_run.present?
|
100
|
+
|
101
|
+
@current_run = self.importer_runs.create!
|
102
|
+
return @current_run if file? && zip?
|
103
|
+
|
104
|
+
entry_counts = {
|
105
|
+
total_work_entries: self.limit || parser.works_total,
|
106
|
+
total_collection_entries: parser.collections_total,
|
107
|
+
total_file_set_entries: parser.file_sets_total
|
108
|
+
}
|
109
|
+
@current_run.update!(entry_counts)
|
110
|
+
|
111
|
+
@current_run
|
109
112
|
end
|
110
113
|
|
111
114
|
def last_run
|
@@ -4,9 +4,10 @@ module Bulkrax
|
|
4
4
|
class ImporterRun < ApplicationRecord
|
5
5
|
belongs_to :importer
|
6
6
|
has_many :statuses, as: :runnable, dependent: :destroy
|
7
|
+
has_many :pending_relationships, dependent: :destroy
|
7
8
|
|
8
9
|
def parents
|
9
|
-
|
10
|
+
pending_relationships.pluck(:parent_id).uniq
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
@@ -51,7 +51,7 @@ module Bulkrax
|
|
51
51
|
fn = file_set.original_file.file_name.first
|
52
52
|
mime = Mime::Type.lookup(file_set.original_file.mime_type)
|
53
53
|
ext_mime = MIME::Types.of(file_set.original_file.file_name).first
|
54
|
-
if fn.include?(file_set.id) || importerexporter.metadata_only?
|
54
|
+
if fn.include?(file_set.id) || importerexporter.metadata_only?
|
55
55
|
filename = "#{fn}.#{mime.to_sym}"
|
56
56
|
filename = fn if mime.to_s == ext_mime.to_s
|
57
57
|
else
|
@@ -50,7 +50,7 @@ module Bulkrax
|
|
50
50
|
self.parsed_metadata[related_parents_parsed_mapping].each do |parent_identifier|
|
51
51
|
next if parent_identifier.blank?
|
52
52
|
|
53
|
-
PendingRelationship.create!(child_id: self.identifier, parent_id: parent_identifier,
|
53
|
+
PendingRelationship.create!(child_id: self.identifier, parent_id: parent_identifier, importer_run_id: importerexporter.last_run.id, order: self.id)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -58,7 +58,7 @@ module Bulkrax
|
|
58
58
|
self.parsed_metadata[related_children_parsed_mapping].each do |child_identifier|
|
59
59
|
next if child_identifier.blank?
|
60
60
|
|
61
|
-
PendingRelationship.create!(parent_id: self.identifier, child_id: child_identifier,
|
61
|
+
PendingRelationship.create!(parent_id: self.identifier, child_id: child_identifier, importer_run_id: importerexporter.last_run.id, order: self.id)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -19,8 +19,14 @@ module Bulkrax
|
|
19
19
|
rdf_format = parser_fields&.[]('metadata_format') == "Bulkrax::RdfEntry"
|
20
20
|
rdf_format ? RdfEntry : CsvEntry
|
21
21
|
end
|
22
|
-
|
23
|
-
|
22
|
+
|
23
|
+
def collection_entry_class
|
24
|
+
CsvCollectionEntry
|
25
|
+
end
|
26
|
+
|
27
|
+
def file_set_entry_class
|
28
|
+
CsvFileSetEntry
|
29
|
+
end
|
24
30
|
|
25
31
|
# Take a random sample of 10 metadata_paths and work out the import fields from that
|
26
32
|
def import_fields
|
@@ -95,7 +101,15 @@ module Bulkrax
|
|
95
101
|
end
|
96
102
|
|
97
103
|
def total
|
98
|
-
|
104
|
+
@total = importer.parser_fields['total'] || 0 if importer?
|
105
|
+
|
106
|
+
@total = if exporter?
|
107
|
+
limit.nil? || limit.zero? ? current_record_ids.count : limit
|
108
|
+
end
|
109
|
+
|
110
|
+
return @total || 0
|
111
|
+
rescue StandardError
|
112
|
+
@total = 0
|
99
113
|
end
|
100
114
|
|
101
115
|
def extra_filters
|
@@ -118,7 +132,6 @@ module Bulkrax
|
|
118
132
|
case importerexporter.export_from
|
119
133
|
when 'all'
|
120
134
|
@work_ids = ActiveFedora::SolrService.query("has_model_ssim:(#{Hyrax.config.curation_concerns.join(' OR ')}) #{extra_filters}", method: :post, rows: 2_147_483_647).map(&:id)
|
121
|
-
@collection_ids = ActiveFedora::SolrService.query("has_model_ssim:Collection #{extra_filters}", method: :post, rows: 2_147_483_647).map(&:id)
|
122
135
|
@file_set_ids = ActiveFedora::SolrService.query("has_model_ssim:FileSet #{extra_filters}", method: :post, rows: 2_147_483_647).map(&:id)
|
123
136
|
when 'collection'
|
124
137
|
@work_ids = ActiveFedora::SolrService.query("member_of_collection_ids_ssim:#{importerexporter.export_source + extra_filters}", method: :post, rows: 2_000_000_000).map(&:id)
|
@@ -127,7 +140,6 @@ module Bulkrax
|
|
127
140
|
when 'importer'
|
128
141
|
set_ids_for_exporting_from_importer
|
129
142
|
end
|
130
|
-
|
131
143
|
@work_ids + @collection_ids + @file_set_ids
|
132
144
|
end
|
133
145
|
|
@@ -155,6 +167,8 @@ module Bulkrax
|
|
155
167
|
end
|
156
168
|
end
|
157
169
|
|
170
|
+
# export methods
|
171
|
+
|
158
172
|
def create_new_entries
|
159
173
|
current_record_ids.each_with_index do |id, index|
|
160
174
|
break if limit_reached?(limit, index)
|
@@ -182,34 +196,44 @@ module Bulkrax
|
|
182
196
|
alias create_from_worktype create_new_entries
|
183
197
|
alias create_from_all create_new_entries
|
184
198
|
|
185
|
-
#
|
186
|
-
|
187
|
-
# rubocop:disable Metrics/AbcSize
|
199
|
+
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
188
200
|
def write_files
|
189
201
|
require 'open-uri'
|
190
202
|
require 'socket'
|
191
|
-
importerexporter.entries.where(identifier: current_record_ids)[0..limit || total].each do |
|
192
|
-
|
193
|
-
|
194
|
-
|
203
|
+
importerexporter.entries.where(identifier: current_record_ids)[0..limit || total].each do |entry|
|
204
|
+
work = ActiveFedora::Base.find(entry.identifier)
|
205
|
+
next unless Hyrax.config.curation_concerns.include?(work.class)
|
206
|
+
bag = BagIt::Bag.new setup_bagit_folder(entry.identifier)
|
207
|
+
bag_entries = [entry]
|
208
|
+
|
209
|
+
work.file_sets.each do |fs|
|
210
|
+
if @file_set_ids.present?
|
211
|
+
file_set_entry = Bulkrax::CsvFileSetEntry.where("parsed_metadata LIKE '%#{fs.id}%'").first
|
212
|
+
bag_entries << file_set_entry unless file_set_entry.nil?
|
213
|
+
end
|
195
214
|
|
196
|
-
w.file_sets.each do |fs|
|
197
215
|
file_name = filename(fs)
|
198
216
|
next if file_name.blank?
|
199
217
|
io = open(fs.original_file.uri)
|
200
218
|
file = Tempfile.new([file_name, File.extname(file_name)], binmode: true)
|
201
219
|
file.write(io.read)
|
202
220
|
file.close
|
203
|
-
|
221
|
+
begin
|
222
|
+
bag.add_file(file_name, file.path)
|
223
|
+
rescue => e
|
224
|
+
entry.status_info(e)
|
225
|
+
status_info(e)
|
226
|
+
end
|
204
227
|
end
|
205
|
-
|
206
|
-
|
228
|
+
|
229
|
+
CSV.open(setup_csv_metadata_export_file(entry.identifier), "w", headers: export_headers, write_headers: true) do |csv|
|
230
|
+
bag_entries.each { |csv_entry| csv << csv_entry.parsed_metadata }
|
207
231
|
end
|
208
|
-
write_triples(
|
232
|
+
write_triples(entry)
|
209
233
|
bag.manifest!(algo: 'sha256')
|
210
234
|
end
|
211
235
|
end
|
212
|
-
# rubocop:enable Metrics/AbcSize
|
236
|
+
# rubocop:enable Metrics/MethodLength, Metrics/AbcSize
|
213
237
|
|
214
238
|
def setup_csv_metadata_export_file(id)
|
215
239
|
File.join(importerexporter.exporter_export_path, id, 'metadata.csv')
|
@@ -195,6 +195,9 @@ module Bulkrax
|
|
195
195
|
@file_set_ids = ActiveFedora::SolrService.query("has_model_ssim:FileSet #{extra_filters}", method: :post, rows: 2_147_483_647).map(&:id)
|
196
196
|
when 'collection'
|
197
197
|
@work_ids = ActiveFedora::SolrService.query("member_of_collection_ids_ssim:#{importerexporter.export_source + extra_filters}", method: :post, rows: 2_000_000_000).map(&:id)
|
198
|
+
@collection_ids = ActiveFedora::SolrService.query("id:#{importerexporter.export_source} #{extra_filters}", method: :post, rows: 2_147_483_647).map(&:id)
|
199
|
+
when 'collections metadata'
|
200
|
+
@collection_ids = ActiveFedora::SolrService.query("has_model_ssim:Collection #{extra_filters}", method: :post, rows: 2_147_483_647).map(&:id)
|
198
201
|
when 'worktype'
|
199
202
|
@work_ids = ActiveFedora::SolrService.query("has_model_ssim:#{importerexporter.export_source + extra_filters}", method: :post, rows: 2_000_000_000).map(&:id)
|
200
203
|
when 'importer'
|
@@ -251,6 +254,7 @@ module Bulkrax
|
|
251
254
|
end
|
252
255
|
end
|
253
256
|
alias create_from_collection create_new_entries
|
257
|
+
alias create_from_collections_metadata create_new_entries
|
254
258
|
alias create_from_importer create_new_entries
|
255
259
|
alias create_from_worktype create_new_entries
|
256
260
|
alias create_from_all create_new_entries
|
@@ -15,15 +15,15 @@
|
|
15
15
|
|
16
16
|
<%= form.hidden_field :user_id, value: current_user.id %>
|
17
17
|
|
18
|
-
<%= form.input :export_type,
|
19
|
-
collection: form.object.export_type_list,
|
20
|
-
label: t('bulkrax.exporter.labels.export_type'),
|
18
|
+
<%= form.input :export_type,
|
19
|
+
collection: form.object.export_type_list,
|
20
|
+
label: t('bulkrax.exporter.labels.export_type'),
|
21
21
|
required: true,
|
22
22
|
prompt: 'Please select an export type' %>
|
23
23
|
|
24
|
-
<%= form.input :export_from,
|
25
|
-
collection: form.object.export_from_list,
|
26
|
-
label: t('bulkrax.exporter.labels.export_from'),
|
24
|
+
<%= form.input :export_from,
|
25
|
+
collection: form.object.export_from_list,
|
26
|
+
label: t('bulkrax.exporter.labels.export_from'),
|
27
27
|
required: true,
|
28
28
|
prompt: 'Please select an export source' %>
|
29
29
|
|
@@ -55,8 +55,8 @@
|
|
55
55
|
input_html: { class: 'worktype export-source-option hidden' },
|
56
56
|
collection: Hyrax.config.curation_concerns.map {|cc| [cc.to_s, cc.to_s] } %>
|
57
57
|
|
58
|
-
<%= form.input :limit,
|
59
|
-
as: :integer,
|
58
|
+
<%= form.input :limit,
|
59
|
+
as: :integer,
|
60
60
|
hint: 'leave blank or 0 for all records',
|
61
61
|
label: t('bulkrax.exporter.labels.limit') %>
|
62
62
|
|
@@ -90,8 +90,8 @@
|
|
90
90
|
collection: form.object.workflow_status_list,
|
91
91
|
label: t('bulkrax.exporter.labels.status') %>
|
92
92
|
|
93
|
-
<%= form.input :parser_klass,
|
94
|
-
collection: Bulkrax.parsers.map {|p| [p[:name], p[:class_name], {'data-partial' => p[:partial]}] if p[:class_name].constantize.export_supported? }.compact,
|
93
|
+
<%= form.input :parser_klass,
|
94
|
+
collection: Bulkrax.parsers.map {|p| [p[:name], p[:class_name], {'data-partial' => p[:partial]}] if p[:class_name].constantize.export_supported? }.compact,
|
95
95
|
label: t('bulkrax.exporter.labels.export_format') %>
|
96
96
|
</div>
|
97
97
|
|
@@ -40,6 +40,11 @@
|
|
40
40
|
<% when 'collection' %>
|
41
41
|
<% collection = Collection.find(@exporter.export_source) %>
|
42
42
|
<%= link_to collection&.title&.first, hyrax.dashboard_collection_path(collection.id) %>
|
43
|
+
<% when 'collections metadata' %>
|
44
|
+
<% collections = Collection.all %>
|
45
|
+
<% collections.each_with_index do |c, i| %>
|
46
|
+
<%= link_to c&.title&.first, hyrax.dashboard_collection_path(c.id) %><%= ',' if i != collections.count - 1 %>
|
47
|
+
<% end %>
|
43
48
|
<% when 'importer' %>
|
44
49
|
<% importer = Bulkrax::Importer.find(@exporter.export_source) %>
|
45
50
|
<%= link_to importer.name, bulkrax.importer_path(importer.id) %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class RenameBulkraxImporterRunToImporterRun < ActiveRecord::Migration[5.2]
|
2
|
+
def up
|
3
|
+
if column_exists?(:bulkrax_pending_relationships, :bulkrax_importer_run_id)
|
4
|
+
remove_foreign_key :bulkrax_pending_relationships, :bulkrax_importer_runs
|
5
|
+
remove_index :bulkrax_pending_relationships, column: :bulkrax_importer_run_id
|
6
|
+
|
7
|
+
rename_column :bulkrax_pending_relationships, :bulkrax_importer_run_id, :importer_run_id
|
8
|
+
|
9
|
+
add_foreign_key :bulkrax_pending_relationships, :bulkrax_importer_runs, column: :importer_run_id
|
10
|
+
add_index :bulkrax_pending_relationships, :importer_run_id, name: 'index_bulkrax_pending_relationships_on_importer_run_id'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def down
|
15
|
+
rename_column :bulkrax_pending_relationships, :importer_run_id, :bulkrax_importer_run_id
|
16
|
+
end
|
17
|
+
end
|
data/lib/bulkrax/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bulkrax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Kaufman
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-06-
|
11
|
+
date: 2022-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -25,81 +25,81 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 5.1.6
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bagit
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '0.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '0.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: coderay
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: iso8601
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.9.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.9.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: kaminari
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: language_list
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
-
- - "
|
89
|
+
version: '1.2'
|
90
|
+
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: 2.
|
92
|
+
version: 1.2.1
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
|
-
- - "
|
97
|
+
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '
|
100
|
-
- - "
|
99
|
+
version: '1.2'
|
100
|
+
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 2.
|
102
|
+
version: 1.2.1
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: libxml-ruby
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,61 +115,75 @@ dependencies:
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: 3.1.0
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: loofah
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- - "~>"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '1.2'
|
124
121
|
- - ">="
|
125
122
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
123
|
+
version: 2.2.3
|
127
124
|
type: :runtime
|
128
125
|
prerelease: false
|
129
126
|
version_requirements: !ruby/object:Gem::Requirement
|
130
127
|
requirements:
|
131
|
-
- - "~>"
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '1.2'
|
134
128
|
- - ">="
|
135
129
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
130
|
+
version: 2.2.3
|
137
131
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
132
|
+
name: oai
|
139
133
|
requirement: !ruby/object:Gem::Requirement
|
140
134
|
requirements:
|
141
135
|
- - ">="
|
142
136
|
- !ruby/object:Gem::Version
|
143
|
-
version:
|
137
|
+
version: '0.4'
|
144
138
|
- - "<"
|
145
139
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
140
|
+
version: 2.x
|
147
141
|
type: :runtime
|
148
142
|
prerelease: false
|
149
143
|
version_requirements: !ruby/object:Gem::Requirement
|
150
144
|
requirements:
|
151
145
|
- - ">="
|
152
146
|
- !ruby/object:Gem::Version
|
153
|
-
version:
|
147
|
+
version: '0.4'
|
154
148
|
- - "<"
|
155
149
|
- !ruby/object:Gem::Version
|
156
|
-
version:
|
150
|
+
version: 2.x
|
157
151
|
- !ruby/object:Gem::Dependency
|
158
|
-
name:
|
152
|
+
name: rack
|
159
153
|
requirement: !ruby/object:Gem::Requirement
|
160
154
|
requirements:
|
161
|
-
- - "
|
155
|
+
- - ">="
|
162
156
|
- !ruby/object:Gem::Version
|
163
|
-
version:
|
157
|
+
version: 2.0.6
|
164
158
|
type: :runtime
|
165
159
|
prerelease: false
|
166
160
|
version_requirements: !ruby/object:Gem::Requirement
|
167
161
|
requirements:
|
168
|
-
- - "
|
162
|
+
- - ">="
|
169
163
|
- !ruby/object:Gem::Version
|
170
|
-
version:
|
164
|
+
version: 2.0.6
|
171
165
|
- !ruby/object:Gem::Dependency
|
172
|
-
name:
|
166
|
+
name: rdf
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: 2.0.2
|
172
|
+
- - "<"
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '4.0'
|
175
|
+
type: :runtime
|
176
|
+
prerelease: false
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: 2.0.2
|
182
|
+
- - "<"
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '4.0'
|
185
|
+
- !ruby/object:Gem::Dependency
|
186
|
+
name: rubyzip
|
173
187
|
requirement: !ruby/object:Gem::Requirement
|
174
188
|
requirements:
|
175
189
|
- - ">="
|
@@ -183,7 +197,7 @@ dependencies:
|
|
183
197
|
- !ruby/object:Gem::Version
|
184
198
|
version: '0'
|
185
199
|
- !ruby/object:Gem::Dependency
|
186
|
-
name:
|
200
|
+
name: simple_form
|
187
201
|
requirement: !ruby/object:Gem::Requirement
|
188
202
|
requirements:
|
189
203
|
- - ">="
|
@@ -374,6 +388,7 @@ files:
|
|
374
388
|
- db/migrate/20220303212810_add_order_to_bulkrax_pending_relationships.rb
|
375
389
|
- db/migrate/20220412233954_add_include_thumbnails_to_bulkrax_exporters.rb
|
376
390
|
- db/migrate/20220413180915_add_generated_metadata_to_bulkrax_exporters.rb
|
391
|
+
- db/migrate/20220609001128_rename_bulkrax_importer_run_to_importer_run.rb
|
377
392
|
- lib/bulkrax.rb
|
378
393
|
- lib/bulkrax/engine.rb
|
379
394
|
- lib/bulkrax/version.rb
|
@@ -389,7 +404,7 @@ homepage: https://github.com/samvera-labs/bulkrax
|
|
389
404
|
licenses:
|
390
405
|
- Apache-2.0
|
391
406
|
metadata: {}
|
392
|
-
post_install_message:
|
407
|
+
post_install_message:
|
393
408
|
rdoc_options: []
|
394
409
|
require_paths:
|
395
410
|
- lib
|
@@ -404,8 +419,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
404
419
|
- !ruby/object:Gem::Version
|
405
420
|
version: '0'
|
406
421
|
requirements: []
|
407
|
-
rubygems_version: 3.
|
408
|
-
signing_key:
|
422
|
+
rubygems_version: 3.1.4
|
423
|
+
signing_key:
|
409
424
|
specification_version: 4
|
410
425
|
summary: Import and export tool for Hyrax and Hyku
|
411
426
|
test_files: []
|