darlingtonia 1.1.0 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +23 -0
- data/.travis.yml +3 -6
- data/darlingtonia.gemspec +2 -3
- data/lib/darlingtonia.rb +1 -0
- data/lib/darlingtonia/hyrax_basic_metadata_mapper.rb +84 -0
- data/lib/darlingtonia/version.rb +1 -1
- data/spec/darlingtonia/hyrax_basic_metadata_mapper_spec.rb +82 -0
- data/spec/darlingtonia/record_importer_spec.rb +1 -0
- data/spec/fixtures/hyrax/example.csv +3 -0
- data/spec/integration/import_csv_spec.rb +1 -0
- data/spec/integration/import_hyrax_csv.rb +77 -0
- data/spec/spec_helper.rb +0 -2
- data/spec/support/hyrax/basic_metadata.rb +30 -0
- data/spec/support/hyrax/core_metadata.rb +15 -0
- data/spec/support/shared_contexts/with_work_type.rb +5 -2
- metadata +12 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b768a91873e3babd0452c60bdae4ec16cdb9e4dd82ba11348da870cd2718caa
|
4
|
+
data.tar.gz: 838674e6713c47f02fd396cfa9d7e5a4c55bd224233480328cb7bd446e3d75d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: daf5e4640835d53b20add56ee20831a2f72fcd35e1721ace5a5c1f4c61555be3b1108d06b64432d606db2f791551670650f820779a29603475ef217410c2ae48
|
7
|
+
data.tar.gz: 6ed73cc4f53109eb1424ebab19e7f8246eb248f99a7fd900cadd12f296f6fe22a09904f9438dbc32c7139b5166ca464845c6626e3b4f80a0864a6c38762f7a6f
|
data/.rubocop.yml
CHANGED
@@ -9,12 +9,35 @@ Lint/HandleExceptions:
|
|
9
9
|
- 'spec/**/*'
|
10
10
|
- 'lib/darlingtonia/spec/**/*'
|
11
11
|
|
12
|
+
Metrics/AbcSize:
|
13
|
+
Exclude:
|
14
|
+
- 'spec/support/hyrax/basic_metadata.rb'
|
15
|
+
|
12
16
|
Metrics/BlockLength:
|
13
17
|
Exclude:
|
14
18
|
- 'spec/**/*'
|
15
19
|
- 'lib/darlingtonia/spec/**/*'
|
16
20
|
|
21
|
+
Metrics/LineLength:
|
22
|
+
Exclude:
|
23
|
+
- 'lib/darlingtonia/hyrax_basic_metadata_mapper.rb'
|
24
|
+
|
25
|
+
Metrics/MethodLength:
|
26
|
+
Exclude:
|
27
|
+
- 'spec/support/hyrax/basic_metadata.rb'
|
28
|
+
- 'lib/darlingtonia/hyrax_basic_metadata_mapper.rb'
|
29
|
+
|
17
30
|
RSpec/DescribeClass:
|
18
31
|
Exclude:
|
19
32
|
- 'spec/integration/**/*'
|
20
33
|
- 'spec/*_spec.rb'
|
34
|
+
|
35
|
+
RSpec/ExampleLength:
|
36
|
+
Exclude:
|
37
|
+
- 'spec/darlingtonia/hyrax_basic_metadata_mapper_spec.rb'
|
38
|
+
- 'spec/integration/import_hyrax_csv.rb'
|
39
|
+
|
40
|
+
RSpec/MultipleExpectations:
|
41
|
+
Exclude:
|
42
|
+
- 'spec/darlingtonia/hyrax_basic_metadata_mapper_spec.rb'
|
43
|
+
- 'spec/integration/import_hyrax_csv.rb'
|
data/.travis.yml
CHANGED
data/darlingtonia.gemspec
CHANGED
@@ -8,13 +8,12 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.version = Darlingtonia::VERSION
|
9
9
|
gem.platform = Gem::Platform::RUBY
|
10
10
|
gem.authors = ['Tom Johnson', 'Data Curation Experts']
|
11
|
-
gem.email = '
|
11
|
+
gem.email = ['administrator@curationexperts.com']
|
12
12
|
gem.summary = 'Hyrax importers.'
|
13
13
|
gem.license = 'Apache-2.0'
|
14
14
|
gem.files = %w[AUTHORS CHANGELOG.md README.md LICENSE] +
|
15
15
|
Dir.glob('lib/**/*.rb')
|
16
16
|
gem.require_paths = %w[lib]
|
17
|
-
gem.has_rdoc = false
|
18
17
|
|
19
18
|
gem.required_ruby_version = '>= 2.3.4'
|
20
19
|
|
@@ -25,7 +24,7 @@ Gem::Specification.new do |gem|
|
|
25
24
|
gem.add_development_dependency 'hyrax-spec', '~> 0.2'
|
26
25
|
gem.add_development_dependency 'rspec', '~> 3.6'
|
27
26
|
gem.add_development_dependency 'coveralls', '~> 0.8'
|
28
|
-
gem.add_development_dependency 'solr_wrapper', '~>
|
27
|
+
gem.add_development_dependency 'solr_wrapper', '~> 2.1'
|
29
28
|
gem.add_development_dependency 'fcrepo_wrapper', '~> 0.9'
|
30
29
|
|
31
30
|
gem.files = `git ls-files`.split("\n")
|
data/lib/darlingtonia.rb
CHANGED
@@ -54,6 +54,7 @@ module Darlingtonia
|
|
54
54
|
require 'darlingtonia/version'
|
55
55
|
require 'darlingtonia/metadata_mapper'
|
56
56
|
require 'darlingtonia/hash_mapper'
|
57
|
+
require 'darlingtonia/hyrax_basic_metadata_mapper'
|
57
58
|
|
58
59
|
require 'darlingtonia/importer'
|
59
60
|
require 'darlingtonia/record_importer'
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Darlingtonia
|
4
|
+
##
|
5
|
+
# A mapper for Hyrax metadata.
|
6
|
+
#
|
7
|
+
# Maps from hash accessor syntax (`['title']`) to method call dot syntax (`.title`).
|
8
|
+
#
|
9
|
+
# The fields provided by this mapper are the same as the properties defined in `Hyrax::CoreMetadata` and `Hyrax::BasicMetadata`.
|
10
|
+
#
|
11
|
+
# @note This mapper allows you to set values for all the Hyrax fields, but depending on how you create the records, some of the values might get clobbered. For example, if you use Hyrax's actor stack to create records, it might overwrite fields like `date_modified` or `depositor`.
|
12
|
+
#
|
13
|
+
# @see HashMapper Parent class for more info and examples.
|
14
|
+
class HyraxBasicMetadataMapper < HashMapper
|
15
|
+
##
|
16
|
+
# @return [Enumerable<Symbol>] The fields the mapper can process.
|
17
|
+
def fields
|
18
|
+
core_fields + basic_fields
|
19
|
+
end
|
20
|
+
|
21
|
+
# Properties defined with `multiple: false` in
|
22
|
+
# Hyrax should return a single value instead of
|
23
|
+
# an Array of values.
|
24
|
+
def depositor
|
25
|
+
metadata['depositor']
|
26
|
+
end
|
27
|
+
|
28
|
+
def date_uploaded
|
29
|
+
metadata['date_uploaded']
|
30
|
+
end
|
31
|
+
|
32
|
+
def date_modified
|
33
|
+
metadata['date_modified']
|
34
|
+
end
|
35
|
+
|
36
|
+
def label
|
37
|
+
metadata['label']
|
38
|
+
end
|
39
|
+
|
40
|
+
def relative_path
|
41
|
+
metadata['relative_path']
|
42
|
+
end
|
43
|
+
|
44
|
+
def import_url
|
45
|
+
metadata['import_url']
|
46
|
+
end
|
47
|
+
|
48
|
+
##
|
49
|
+
# @return [String] The delimiter that will be used to split a metadata field into separate values.
|
50
|
+
# @example
|
51
|
+
# mapper = HyraxBasicMetadataMapper.new
|
52
|
+
# mapper.metadata = { 'language' => 'English|~|French|~|Japanese' }
|
53
|
+
# mapper.language = ['English', 'French', 'Japanese']
|
54
|
+
#
|
55
|
+
def delimiter
|
56
|
+
@delimiter ||= '|~|'
|
57
|
+
end
|
58
|
+
attr_writer :delimiter
|
59
|
+
|
60
|
+
##
|
61
|
+
# @see MetadataMapper#map_field
|
62
|
+
def map_field(name)
|
63
|
+
Array(metadata[name.to_s]&.split(delimiter))
|
64
|
+
end
|
65
|
+
|
66
|
+
protected
|
67
|
+
|
68
|
+
# Properties defined in Hyrax::CoreMetadata
|
69
|
+
def core_fields
|
70
|
+
[:depositor, :title, :date_uploaded, :date_modified]
|
71
|
+
end
|
72
|
+
|
73
|
+
# Properties defined in Hyrax::BasicMetadata
|
74
|
+
def basic_fields
|
75
|
+
[:label, :relative_path, :import_url,
|
76
|
+
:resource_type, :creator, :contributor,
|
77
|
+
:description, :keyword, :license,
|
78
|
+
:rights_statement, :publisher, :date_created,
|
79
|
+
:subject, :language, :identifier,
|
80
|
+
:based_near, :related_url,
|
81
|
+
:bibliographic_citation, :source]
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
data/lib/darlingtonia/version.rb
CHANGED
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Darlingtonia::HyraxBasicMetadataMapper do
|
5
|
+
let(:mapper) { described_class.new }
|
6
|
+
|
7
|
+
# Properties defined in Hyrax::CoreMetadata
|
8
|
+
let(:core_fields) do
|
9
|
+
[:depositor, :title, :date_uploaded, :date_modified]
|
10
|
+
end
|
11
|
+
|
12
|
+
# Properties defined in Hyrax::BasicMetadata
|
13
|
+
let(:basic_fields) do
|
14
|
+
[:label, :relative_path, :import_url,
|
15
|
+
:resource_type, :creator, :contributor,
|
16
|
+
:description, :keyword, :license,
|
17
|
+
:rights_statement, :publisher, :date_created,
|
18
|
+
:subject, :language, :identifier, :based_near,
|
19
|
+
:related_url, :bibliographic_citation, :source]
|
20
|
+
end
|
21
|
+
|
22
|
+
it_behaves_like 'a Darlingtonia::Mapper' do
|
23
|
+
let(:metadata) do
|
24
|
+
{ title: ['A Title for a Record'],
|
25
|
+
my_custom_field: ['This gets ignored'] }
|
26
|
+
end
|
27
|
+
let(:expected_fields) { core_fields + basic_fields }
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'with metadata, but some missing fields' do
|
31
|
+
before { mapper.metadata = metadata }
|
32
|
+
let(:metadata) do
|
33
|
+
{ 'depositor' => 'someone@example.org',
|
34
|
+
'title' => 'A Title',
|
35
|
+
'language' => 'English' }
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'provides methods for the fields, even fields that aren\'t included in the metadata' do
|
39
|
+
expect(metadata).to include('title')
|
40
|
+
expect(mapper).to respond_to(:title)
|
41
|
+
|
42
|
+
expect(metadata).not_to include('label')
|
43
|
+
expect(mapper).to respond_to(:label)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'returns single values for single-value fields' do
|
47
|
+
expect(mapper.depositor).to eq 'someone@example.org'
|
48
|
+
expect(mapper.date_uploaded).to eq nil
|
49
|
+
expect(mapper.date_modified).to eq nil
|
50
|
+
expect(mapper.label).to eq nil
|
51
|
+
expect(mapper.relative_path).to eq nil
|
52
|
+
expect(mapper.import_url).to eq nil
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'returns array values for multi-value fields' do
|
56
|
+
expect(mapper.title).to eq ['A Title']
|
57
|
+
expect(mapper.language).to eq ['English']
|
58
|
+
expect(mapper.keyword).to eq []
|
59
|
+
expect(mapper.subject).to eq []
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'fields with multiple values' do
|
64
|
+
before { mapper.metadata = metadata }
|
65
|
+
let(:metadata) do
|
66
|
+
{ 'title' => 'A Title',
|
67
|
+
'language' => 'English|~|French|~|Japanese' }
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'splits the values using the delimiter' do
|
71
|
+
expect(mapper.title).to eq ['A Title']
|
72
|
+
expect(mapper.language).to eq ['English', 'French', 'Japanese']
|
73
|
+
expect(mapper.keyword).to eq []
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'can set a different delimiter' do
|
77
|
+
expect(mapper.delimiter).to eq '|~|'
|
78
|
+
mapper.delimiter = 'ಠ_ಠ'
|
79
|
+
expect(mapper.delimiter).to eq 'ಠ_ಠ'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -17,6 +17,7 @@ describe Darlingtonia::RecordImporter, :clean do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
context 'with a registered work type' do
|
20
|
+
load File.expand_path("../../support/shared_contexts/with_work_type.rb", __FILE__)
|
20
21
|
include_context 'with a work type'
|
21
22
|
|
22
23
|
it 'creates a work for record' do
|
@@ -0,0 +1,3 @@
|
|
1
|
+
title,depositor,date_uploaded,date_modified,label,relative_path,import_url,resource_type,creator,contributor,description,keyword,license,rights_statement,publisher,date_created,subject,language,identifier,based_near,related_url,bibliographic_citation,source
|
2
|
+
Work 1 Title,user@example.com,2018-12-21,2018-01-01,Work 1 Label,tmp/files,https://example.com,Work 1 Type,Work 1 creator,Work 1 contrib,Desc 1,Key 1,Lic 1,RS 1,Pub 1,2018-06-06,Subj 1,English|~|Japanese,Ident 1,Based 1,https://example.com/related,Bib 1,Source 1
|
3
|
+
Work 2 Title,,1970-12-21,,Work 2 Label,,,Work 2 Type,,,Desc 2,,,,Pub 2,,Subj 2
|
@@ -7,6 +7,7 @@ describe 'importing a csv batch', :clean do
|
|
7
7
|
let(:parser) { Darlingtonia::CsvParser.new(file: file) }
|
8
8
|
let(:file) { File.open('spec/fixtures/example.csv') }
|
9
9
|
|
10
|
+
load File.expand_path("../../support/shared_contexts/with_work_type.rb", __FILE__)
|
10
11
|
include_context 'with a work type'
|
11
12
|
|
12
13
|
it 'creates a record for each CSV line' do
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe 'importing a CSV with Hyrax defaults', :clean do
|
5
|
+
subject(:importer) { Darlingtonia::Importer.new(parser: parser) }
|
6
|
+
let(:parser) { Darlingtonia::CsvParser.new(file: csv_file) }
|
7
|
+
|
8
|
+
let(:csv_file) { File.open('spec/fixtures/hyrax/example.csv') }
|
9
|
+
after { csv_file.close }
|
10
|
+
|
11
|
+
before do
|
12
|
+
# Force it to use the Hyrax mapper instead of the default mapper
|
13
|
+
allow(Darlingtonia::HashMapper).to receive(:new).and_return(Darlingtonia::HyraxBasicMetadataMapper.new)
|
14
|
+
end
|
15
|
+
|
16
|
+
load File.expand_path("../../support/shared_contexts/with_work_type.rb", __FILE__)
|
17
|
+
include_context 'with a work type'
|
18
|
+
|
19
|
+
it 'creates the record(s)' do
|
20
|
+
expect { importer.import }.to change { Work.count }.to 2
|
21
|
+
|
22
|
+
works = Work.all
|
23
|
+
work1 = works.find { |w| w.title == ['Work 1 Title'] }
|
24
|
+
work2 = works.find { |w| w.title == ['Work 2 Title'] }
|
25
|
+
|
26
|
+
# First Record
|
27
|
+
expect(work1.depositor).to eq 'user@example.com'
|
28
|
+
expect(work1.date_uploaded).to eq '2018-12-21'
|
29
|
+
expect(work1.date_modified).to eq '2018-01-01'
|
30
|
+
expect(work1.label).to eq 'Work 1 Label'
|
31
|
+
expect(work1.relative_path).to eq 'tmp/files'
|
32
|
+
expect(work1.import_url).to eq 'https://example.com'
|
33
|
+
expect(work1.resource_type).to eq ['Work 1 Type']
|
34
|
+
expect(work1.creator).to eq ['Work 1 creator']
|
35
|
+
expect(work1.contributor).to eq ['Work 1 contrib']
|
36
|
+
expect(work1.description).to eq ['Desc 1']
|
37
|
+
expect(work1.keyword).to eq ['Key 1']
|
38
|
+
expect(work1.license).to eq ['Lic 1']
|
39
|
+
expect(work1.rights_statement).to eq ['RS 1']
|
40
|
+
expect(work1.publisher).to eq ['Pub 1']
|
41
|
+
expect(work1.date_created).to eq ['2018-06-06']
|
42
|
+
expect(work1.subject).to eq ['Subj 1']
|
43
|
+
|
44
|
+
# An example with 2 values
|
45
|
+
expect(work1.language).to contain_exactly('English', 'Japanese')
|
46
|
+
|
47
|
+
expect(work1.identifier).to eq ['Ident 1']
|
48
|
+
expect(work1.based_near).to eq ['Based 1']
|
49
|
+
expect(work1.related_url).to eq ['https://example.com/related']
|
50
|
+
expect(work1.bibliographic_citation).to eq ['Bib 1']
|
51
|
+
expect(work1.source).to eq ['Source 1']
|
52
|
+
|
53
|
+
# Second Record
|
54
|
+
expect(work2.depositor).to be_nil
|
55
|
+
expect(work2.date_uploaded).to eq '1970-12-21'
|
56
|
+
expect(work2.date_modified).to be_nil
|
57
|
+
expect(work2.label).to eq 'Work 2 Label'
|
58
|
+
expect(work2.relative_path).to be_nil
|
59
|
+
expect(work2.import_url).to be_nil
|
60
|
+
expect(work2.resource_type).to eq ['Work 2 Type']
|
61
|
+
expect(work2.creator).to eq []
|
62
|
+
expect(work2.contributor).to eq []
|
63
|
+
expect(work2.description).to eq ['Desc 2']
|
64
|
+
expect(work2.keyword).to eq []
|
65
|
+
expect(work2.license).to eq []
|
66
|
+
expect(work2.rights_statement).to eq []
|
67
|
+
expect(work2.publisher).to eq ['Pub 2']
|
68
|
+
expect(work2.date_created).to eq []
|
69
|
+
expect(work2.subject).to eq ['Subj 2']
|
70
|
+
expect(work2.language).to eq []
|
71
|
+
expect(work2.identifier).to eq []
|
72
|
+
expect(work2.based_near).to eq []
|
73
|
+
expect(work2.related_url).to eq []
|
74
|
+
expect(work2.bibliographic_citation).to eq []
|
75
|
+
expect(work2.source).to eq []
|
76
|
+
end
|
77
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -9,8 +9,6 @@ require 'active_fedora/cleaner'
|
|
9
9
|
require 'darlingtonia'
|
10
10
|
require 'darlingtonia/spec'
|
11
11
|
|
12
|
-
Dir['./spec/support/**/*.rb'].each { |f| require f }
|
13
|
-
|
14
12
|
RSpec.configure do |config|
|
15
13
|
config.filter_run focus: true
|
16
14
|
config.run_all_when_everything_filtered = true
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Hyrax
|
4
|
+
module BasicMetadata
|
5
|
+
def self.included(work)
|
6
|
+
work.property :label, predicate: ActiveFedora::RDF::Fcrepo::Model.downloadFilename, multiple: false
|
7
|
+
work.property :relative_path, predicate: ::RDF::URI.new('http://scholarsphere.psu.edu/ns#relativePath'), multiple: false
|
8
|
+
work.property :import_url, predicate: ::RDF::URI.new('http://scholarsphere.psu.edu/ns#importUrl'), multiple: false
|
9
|
+
work.property :resource_type, predicate: ::RDF::Vocab::DC.type
|
10
|
+
work.property :creator, predicate: ::RDF::Vocab::DC11.creator
|
11
|
+
work.property :contributor, predicate: ::RDF::Vocab::DC11.contributor
|
12
|
+
work.property :description, predicate: ::RDF::Vocab::DC11.description
|
13
|
+
work.property :keyword, predicate: ::RDF::Vocab::DC11.relation
|
14
|
+
work.property :license, predicate: ::RDF::Vocab::DC.rights
|
15
|
+
work.property :rights_statement, predicate: ::RDF::Vocab::EDM.rights
|
16
|
+
work.property :publisher, predicate: ::RDF::Vocab::DC11.publisher
|
17
|
+
work.property :date_created, predicate: ::RDF::Vocab::DC.created
|
18
|
+
work.property :subject, predicate: ::RDF::Vocab::DC11.subject
|
19
|
+
work.property :language, predicate: ::RDF::Vocab::DC11.language
|
20
|
+
work.property :identifier, predicate: ::RDF::Vocab::DC.identifier
|
21
|
+
|
22
|
+
# Note: based_near is defined differently here than in Hyrax.
|
23
|
+
work.property :based_near, predicate: ::RDF::Vocab::FOAF.based_near
|
24
|
+
|
25
|
+
work.property :related_url, predicate: ::RDF::RDFS.seeAlso
|
26
|
+
work.property :bibliographic_citation, predicate: ::RDF::Vocab::DC.bibliographicCitation
|
27
|
+
work.property :source, predicate: ::RDF::Vocab::DC.source
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Hyrax
|
4
|
+
module CoreMetadata
|
5
|
+
def self.included(work)
|
6
|
+
work.property :depositor, predicate: ::RDF::URI.new('http://id.loc.gov/vocabulary/relators/dpt'), multiple: false
|
7
|
+
|
8
|
+
work.property :title, predicate: ::RDF::Vocab::DC.title
|
9
|
+
|
10
|
+
work.property :date_uploaded, predicate: ::RDF::Vocab::DC.dateSubmitted, multiple: false
|
11
|
+
|
12
|
+
work.property :date_modified, predicate: ::RDF::Vocab::DC.modified, multiple: false
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -3,9 +3,12 @@
|
|
3
3
|
shared_context 'with a work type' do
|
4
4
|
# A work type must be defined for the default `RecordImporter` to save objects
|
5
5
|
before do
|
6
|
+
load './spec/support/hyrax/core_metadata.rb'
|
7
|
+
load './spec/support/hyrax/basic_metadata.rb'
|
8
|
+
|
6
9
|
class Work < ActiveFedora::Base
|
7
|
-
|
8
|
-
|
10
|
+
include ::Hyrax::CoreMetadata
|
11
|
+
include ::Hyrax::BasicMetadata
|
9
12
|
end
|
10
13
|
|
11
14
|
module Hyrax
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: darlingtonia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Johnson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-01-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: active-fedora
|
@@ -107,14 +107,14 @@ dependencies:
|
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '2.1'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '2.1'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
119
|
name: fcrepo_wrapper
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,7 +130,8 @@ dependencies:
|
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0.9'
|
132
132
|
description:
|
133
|
-
email:
|
133
|
+
email:
|
134
|
+
- administrator@curationexperts.com
|
134
135
|
executables: []
|
135
136
|
extensions: []
|
136
137
|
extra_rdoc_files: []
|
@@ -146,6 +147,7 @@ files:
|
|
146
147
|
- lib/darlingtonia.rb
|
147
148
|
- lib/darlingtonia/always_invalid_validator.rb
|
148
149
|
- lib/darlingtonia/hash_mapper.rb
|
150
|
+
- lib/darlingtonia/hyrax_basic_metadata_mapper.rb
|
149
151
|
- lib/darlingtonia/importer.rb
|
150
152
|
- lib/darlingtonia/input_record.rb
|
151
153
|
- lib/darlingtonia/metadata_mapper.rb
|
@@ -167,6 +169,7 @@ files:
|
|
167
169
|
- spec/darlingtonia/csv_parser_spec.rb
|
168
170
|
- spec/darlingtonia/formatted_message_stream_spec.rb
|
169
171
|
- spec/darlingtonia/hash_mapper_spec.rb
|
172
|
+
- spec/darlingtonia/hyrax_basic_metadata_mapper_spec.rb
|
170
173
|
- spec/darlingtonia/importer_spec.rb
|
171
174
|
- spec/darlingtonia/input_record_spec.rb
|
172
175
|
- spec/darlingtonia/parser_spec.rb
|
@@ -177,9 +180,13 @@ files:
|
|
177
180
|
- spec/darlingtonia_spec.rb
|
178
181
|
- spec/fixtures/bad_example.csv
|
179
182
|
- spec/fixtures/example.csv
|
183
|
+
- spec/fixtures/hyrax/example.csv
|
180
184
|
- spec/integration/import_csv_spec.rb
|
185
|
+
- spec/integration/import_hyrax_csv.rb
|
181
186
|
- spec/spec_helper.rb
|
182
187
|
- spec/stdout_stream_spec.rb
|
188
|
+
- spec/support/hyrax/basic_metadata.rb
|
189
|
+
- spec/support/hyrax/core_metadata.rb
|
183
190
|
- spec/support/shared_contexts/with_work_type.rb
|
184
191
|
homepage:
|
185
192
|
licenses:
|