rof 1.2.0 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aa7099ebb75041867fac5b65720c86773fb645e0
4
- data.tar.gz: 21ab74ec208d2e2e6b41ef3ffa061b0824e45674
3
+ metadata.gz: 2e7e89b3743a07578f148505d8226c5214f14d3f
4
+ data.tar.gz: 57ad5579aad0fc95f217be7de73910216faf52d7
5
5
  SHA512:
6
- metadata.gz: 3721b89f933f47cf9535718c3d35a1a2cc5664c3eccbb728a39494473f5e8c7411a33fd0171d204501a200c3b6074dea29b92384b97cb3274b69d4cc12511d73
7
- data.tar.gz: eff5c5cce4953dcaca174fc0d51d682cbc811250f3b30090679bdce78821599c74c625c04a46bccc37feeab78032b7cc92e15f4bf3d52b8f11efc67e812b385b
6
+ metadata.gz: 3955c71a26485168038e7bc6ca0546dfe33b6828e4f5921453bcebe629c4e44b91800ad2a65e5cbd71e7dc3e9d50fdd34a2d90026f429f40381167d969ee2ede
7
+ data.tar.gz: 71b836f300477b6e497a90943476b676fea747fb4876192fd5fa1207c095b189dc2d8514268d192da8fb78031091aece9e6350083d8ea848e69b8332d452325c
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -22,4 +22,4 @@ end
22
22
 
23
23
  STDIN.set_encoding("UTF-8")
24
24
  csv_contents = STDIN.read
25
- ROF::Translators.csv_to_rof(csv_contents, {}, STDOUT)
25
+ ROF::CLI.csv_to_rof(csv_contents, {}, STDOUT)
@@ -17,6 +17,7 @@ module ROF
17
17
  "file-to-url" => ROF::Filters::FileToUrl,
18
18
  "label" => ROF::Filters::Label,
19
19
  "work" => ROF::Filters::Work,
20
+ "access-to-relsext" => ROF::Filters::AccessToRelsext
20
21
  }
21
22
  # @api public
22
23
  #
@@ -0,0 +1,47 @@
1
+ require 'rof/filter'
2
+ module ROF
3
+ module Filters
4
+
5
+ class AccessToRelsext < ROF::Filter
6
+ def initialize(options = {})
7
+ end
8
+
9
+ def process(obj_list)
10
+ # We need to map access with pid to rels-ext predicates
11
+ obj_list.map! do |obj|
12
+ obj.fetch("rights").each do |access_type, access_list|
13
+ convert_to_relsext(access_type, access_list, obj)
14
+ end
15
+ obj
16
+ end
17
+ end
18
+
19
+ def convert_to_relsext(access_type, access_list, rof)
20
+ # map any access fields of the form XXX:YYY into
21
+ # a rels-ext section
22
+ Array.wrap(access_list).each do |access_user|
23
+ if access_user =~ /([^:]+):.+/
24
+ rof['rels-ext'] ||= {}
25
+ case access_type
26
+ when "read"
27
+ rof['rels-ext']['hasViewer'] ||=[]
28
+ rof['rels-ext']['hasViewer'] << access_user
29
+ when "read-groups"
30
+ rof['rels-ext']['hasViewerGroup'] ||= []
31
+ rof['rels-ext']['hasViewerGroup'] << access_user
32
+ when "edit"
33
+ rof['rels-ext']['hasEditor'] ||= []
34
+ rof['rels-ext']['hasEditor'] << access_user
35
+ when "edit-groups"
36
+ rof['rels-ext']['hasEditorGroup'] ||= []
37
+ rof['rels-ext']['hasEditorGroup'] << access_user
38
+ else
39
+ raise AccessMappingNotFound
40
+ end
41
+ end
42
+ end
43
+ return rof
44
+ end
45
+ end
46
+ end
47
+ end
@@ -16,21 +16,21 @@ module ROF
16
16
  class OutOfIdentifiers < RuntimeError
17
17
  end
18
18
 
19
- # Create a new label assigner and resolver. The source of identifiers
20
- # is given using options.
21
- # Use :noid_server and :pool_name to connect to an external noid server.
22
- # Use :id_list to pass in a ruby object responding to #shift and #empty? to generate
23
- # ids. This is usually a list, to facilitate testing.
24
- #
25
- # If prefix is not nil, then "<prefix>:" is prepended to
26
- # every identifier.
19
+ class AccessMappingNotFound < RuntimeError
20
+ end
21
+
22
+ # @param options [Hash]
23
+ # @option options [String, nil] :prefix - if truthy, prepend "<prefix>:" to each identifier
24
+ # @option options [Array, nil] :id_list - circumvent using the :noids configuration and instead use these for next_ids
25
+ # @option options [Hash] :noids - A Hash with keys :noid_server and :pool_name; Responsible for minting next_ids
26
+ # @raise NoPool if we don't have a means of determining the next_id
27
27
  def initialize(options = {})
28
28
  prefix = options.fetch(:prefix, nil)
29
29
  @id_list = case
30
30
  when options[:id_list]
31
31
  options[:id_list]
32
- when options[:noid_server]
33
- NoidsPool.new(options[:noid_server], options.fetch(:pool_name))
32
+ when options[:noids]
33
+ NoidsPool.new(options[:noids].fetch(:noid_server), options[:noids].fetch(:pool_name))
34
34
  else
35
35
  raise NoPool
36
36
  end
@@ -52,9 +52,9 @@ module ROF
52
52
  # This is kinda hacky. Is there a better way?
53
53
  input.each do |relation, targets|
54
54
  next if relation == "@context" || relation == "@id" || relation == "hasModel"
55
- targets = [targets] if targets.is_a? String
55
+ targets = [targets] if targets.is_a?(String) || targets.is_a?(Hash)
56
56
  input[relation] = targets.map do |target|
57
- target.is_a?(String) ? {"@id" => "info:fedora/#{target}"} : target
57
+ target.is_a?(String) ? {"@id" => "info:fedora/#{target}"} : prefix_ids_recursive(target)
58
58
  end
59
59
  end
60
60
 
@@ -62,6 +62,20 @@ module ROF
62
62
  graph.dump(:rdfxml)
63
63
  end
64
64
 
65
+ # prefix all strings or hash values with "info:fedora/"
66
+ # recursively decends into arrays and hashes
67
+ def prefix_ids_recursive(data)
68
+ return "info:fedora/" + data if data.is_a?(String)
69
+ if data.is_a?(Array)
70
+ return data.map { |x| prefix_ids_recursive(x) }
71
+ end
72
+ if data.is_a?(Hash)
73
+ return Hash[data.map { |k,v| [k, prefix_ids_recursive(v)] }]
74
+ end
75
+ # don't know what data is. just return it
76
+ data
77
+ end
78
+
65
79
  def persist(content)
66
80
  if fdoc
67
81
  ds = fdoc['RELS-EXT']
@@ -4,7 +4,7 @@ module ROF
4
4
  'dc' => 'http://purl.org/dc/terms/',
5
5
  'ebucore' => 'http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#',
6
6
  'foaf' => 'http://xmlns.com/foaf/0.1/',
7
- 'hydramata-rel' => 'http://projecthydra.org/ns/relations#',
7
+ 'hydra' => 'http://projecthydra.org/ns/relations#',
8
8
  'mrel' => 'http://id.loc.gov/vocabulary/relators/',
9
9
  'ms' => 'http://www.ndltd.org/standards/metadata/etdms/1.1/',
10
10
  'nd' => 'https://library.nd.edu/ns/terms/',
@@ -30,8 +30,10 @@ module ROF
30
30
  'pav' => 'http://purl.org/pav/',
31
31
  'hydra' => 'http://projecthydra.org/ns/relations#',
32
32
  'hasModel' => { '@id' => 'fedora-model:hasModel', '@type' => '@id' },
33
- 'hasEditor' => { '@id' => 'hydra:hasEditor', '@type' => '@id' },
34
- 'hasEditorGroup' => { '@id' => 'hydra:hasEditorGroup', '@type' => '@id' },
33
+ "hasEditor"=>{"@id"=>"hydra:hasEditor", "@type"=>"@id"},
34
+ "hasEditorGroup"=>{"@id"=>"hydra:hasEditorGroup", "@type"=>"@id"},
35
+ "hasViewer"=>{"@id"=>"hydra:hasViewer", "@type"=>"@id"},
36
+ "hasViewerGroup"=>{"@id"=>"hydra:hasViewerGroup", "@type"=>"@id"},
35
37
  'isPartOf' => { '@type' => '@id' },
36
38
  'isMemberOfCollection' => { '@type' => '@id' },
37
39
  'isEditorOf' => { '@id' => 'hydra:isEditorOf', '@type' => '@id' },
@@ -27,9 +27,11 @@ module ROF
27
27
  attr_reader :pids, :fedora_connection_information, :config, :connection
28
28
 
29
29
  private
30
- def connect_to_fedora!
31
- @connection = Rubydora.connect(fedora_connection_information)
32
- end
30
+
31
+ def connect_to_fedora!
32
+ @connection = Rubydora.connect(fedora_connection_information)
33
+ end
34
+
33
35
  public
34
36
 
35
37
  def to_rof
@@ -59,7 +61,12 @@ module ROF
59
61
  # use reflection to call appropriate method for each
60
62
  fedora_object.datastreams.each do |dsname, ds|
61
63
  method_name = DATASTREAM_NAME_TO_METHOD_MAP.fetch(dsname) { :default_datastream_conversion }
62
- send(method_name, dsname, ds)
64
+ begin
65
+ send(method_name, dsname, ds)
66
+ rescue => e
67
+ # if a named method throws a conversion, try the default datastream conversion
68
+ default_datastream_conversion(dsname, ds)
69
+ end
63
70
  end
64
71
  @fedora_info
65
72
  end
@@ -74,7 +81,7 @@ module ROF
74
81
  'bendo-item' => :default_datastream_conversion,
75
82
  'characterization' => :default_datastream_conversion,
76
83
  'thumbnail' => :default_datastream_conversion
77
- }
84
+ }.freeze
78
85
 
79
86
  private
80
87
 
@@ -63,8 +63,11 @@ module ROF
63
63
  PredicateObjectHandler.call(@statement.predicate, @statement.object, @accumulator)
64
64
  end
65
65
 
66
+ # Handle the various CurateND environments instead of just curate.nd.edu
67
+ REGEXP_FOR_A_CURATE_RDF_SUBJECT = %r{https://curate(?:[\w\.]*).nd.edu/show/([^\\]+)/?}.freeze
68
+
66
69
  def handle_subject
67
- return nil unless @statement.subject.to_s =~ %r{https://curate.nd.edu/show/([^\\]+)/?}
70
+ return nil unless @statement.subject.to_s =~ REGEXP_FOR_A_CURATE_RDF_SUBJECT
68
71
  pid = "und:#{$1}"
69
72
  @accumulator.add_pid(pid)
70
73
  end
@@ -1,3 +1,3 @@
1
1
  module ROF
2
- VERSION="1.2.0"
2
+ VERSION="1.2.3"
3
3
  end
@@ -0,0 +1,90 @@
1
+ {
2
+ "@context": {
3
+ "und": "https://curatesvrpprd.library.nd.edu/show/",
4
+ "bibo": "http://purl.org/ontology/bibo/",
5
+ "dc": "http://purl.org/dc/terms/",
6
+ "ebucore": "http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#",
7
+ "foaf": "http://xmlns.com/foaf/0.1/",
8
+ "mrel": "http://id.loc.gov/vocabulary/relators/",
9
+ "nd": "https://library.nd.edu/ns/terms/",
10
+ "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
11
+ "vracore": "http://purl.org/vra/",
12
+ "frels": "info:fedora/fedora-system:def/relations-external#",
13
+ "ms": "http://www.ndltd.org/standards/metadata/etdms/1.1/",
14
+ "pav": "http://purl.org/pav/",
15
+ "fedora-model": "info:fedora/fedora-system:def/model#",
16
+ "hydra": "http://projecthydra.org/ns/relations#",
17
+ "hasModel": {
18
+ "@id": "fedora-model:hasModel",
19
+ "@type": "@id"
20
+ },
21
+ "hasEditor": {
22
+ "@id": "hydra:hasEditor",
23
+ "@type": "@id"
24
+ },
25
+ "hasEditorGroup": {
26
+ "@id": "hydra:hasEditorGroup",
27
+ "@type": "@id"
28
+ },
29
+ "isPartOf": {
30
+ "@id": "frels:isPartOf",
31
+ "@type": "@id"
32
+ },
33
+ "isMemberOfCollection": {
34
+ "@id": "frels:isMemberOfCollection",
35
+ "@type": "@id"
36
+ },
37
+ "isEditorOf": {
38
+ "@id": "hydra:isEditorOf",
39
+ "@type": "@id"
40
+ },
41
+ "hasMember": {
42
+ "@id": "frels:hasMember",
43
+ "@type": "@id"
44
+ },
45
+ "previousVersion": "pav:previousVersion"
46
+ },
47
+ "@graph": [
48
+ {
49
+ "@id": "_:b0",
50
+ "dc:contributor": "Faculty 1",
51
+ "ms:role": "Research Director"
52
+ },
53
+ {
54
+ "@id": "_:b1",
55
+ "ms:discipline": "Electrical Engineering",
56
+ "ms:level": "Doctoral Dissertation",
57
+ "ms:name": "Doctor of Philosophy"
58
+ },
59
+ {
60
+ "@id": "und:pr76f190f54",
61
+ "dc:contributor": {
62
+ "@id": "_:b0"
63
+ },
64
+ "dc:creator": "Author 1",
65
+ "dc:date": "2015-07-06",
66
+ "dc:dateSubmitted": "2016-02-18Z",
67
+ "dc:creator#administrative_unit": "University of Notre Dame::College of Engineering::Electrical Engineering",
68
+ "dc:description#abstract": "<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
69
+ "dc:language": "English",
70
+ "dc:modified": "2016-02-18Z",
71
+ "dc:rights": "All rights reserved",
72
+ "dc:subject": "Lorem ipsum dolor sit amet",
73
+ "dc:title": "Lorem ipsum dolor sit amet",
74
+ "hydra:hasEditor": {
75
+ "@id": "und:m900ns08d06"
76
+ },
77
+ "hydra:hasEditorGroup": {
78
+ "@id": "und:m613mw2539x"
79
+ },
80
+ "ms:degree": {
81
+ "@id": "_:b1"
82
+ },
83
+ "nd:accessEdit": "curate_batch_user",
84
+ "nd:accessRead": "wma1",
85
+ "nd:accessReadGroup": "public",
86
+ "nd:afmodel": "Etd",
87
+ "nd:depositor": "curate_batch_user"
88
+ }
89
+ ]
90
+ }
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+ require 'rof/filters/access_to_relsext'
3
+ require 'support/an_rof_filter'
4
+
5
+ RSpec.describe ROF::Filters::AccessToRelsext do
6
+ it_behaves_like "an ROF::Filter"
7
+ let(:access_to_relsext){ nil }
8
+ let(:valid_options) { {} }
9
+
10
+ describe '#process' do
11
+ subject { described_class.new.process(original_object_list) }
12
+ let(:original_object_list) do
13
+ [
14
+ { "rights" => {
15
+ "read-groups" => ["bogus", "registered" ],
16
+ "edit" => [
17
+ "non-pid",
18
+ "und:pid"],
19
+ "embargo-date"=> "2016-12-25",
20
+ "edit-groups" => ["und:editgrouppid"]
21
+ }
22
+ }
23
+ ]
24
+ end
25
+ context 'maps to relsext' do
26
+ it 'will map access to relsext' do
27
+ expected_object_list = [
28
+ {
29
+ "rights" => {
30
+ "read-groups" => ["bogus", "registered"],
31
+ "edit" => [
32
+ "non-pid",
33
+ "und:pid"],
34
+ "embargo-date"=> "2016-12-25",
35
+ "edit-groups" => ["und:editgrouppid"]
36
+ },
37
+ "rels-ext" => {
38
+ "hasEditor" => ["und:pid"],
39
+ "hasEditorGroup"=> ["und:editgrouppid"]
40
+ }
41
+ }
42
+ ]
43
+ expect(subject).to eq(expected_object_list)
44
+ end
45
+ end
46
+
47
+
48
+ end
49
+ end
@@ -16,7 +16,7 @@ module ROF
16
16
  noid_server = double
17
17
  pool_name = double
18
18
  expect(described_class::NoidsPool).to receive(:new).with(noid_server, pool_name)
19
- expect { Label.new(noid_server: noid_server, pool_name: pool_name) }.not_to raise_error
19
+ expect { Label.new(noids: { noid_server: noid_server, pool_name: pool_name }) }.not_to raise_error
20
20
  end
21
21
  it 'will fail if not given a list of IDs nor a noid_server' do
22
22
  expect { Label.new }.to raise_error(described_class::NoPool)
@@ -57,6 +57,29 @@ module ROF
57
57
  subject.call
58
58
  end
59
59
  end
60
+
61
+ context 'it handles nested objects' do
62
+ let(:item) {
63
+ { "pid" => 'abc:1234',
64
+ "rels-ext" => {
65
+ "isMemberOf" => { "@id" => "xyz:789" }
66
+ }}
67
+ }
68
+
69
+ let(:expected_content) {
70
+ %Q{
71
+ <?xml version='1.0' encoding='utf-8' ?>
72
+ <rdf:RDF xmlns:ns0='info:fedora/fedora-system:def/model#' xmlns:ns1='info:fedora/fedora-system:def/relations-external#' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
73
+ <rdf:Description rdf:about='info:fedora/abc:1234'>
74
+ <ns0:hasModel rdf:resource='info:fedora/afmodel:Shoe' />
75
+ <ns1:isMemberOf rdf:resource='info:fedora/xyz:789' />
76
+ </rdf:Description>
77
+ </rdf:RDF>
78
+ }
79
+ }
80
+
81
+ its(:call) { should be_equivalent_to(expected_content) }
82
+ end
60
83
  end
61
84
  end
62
85
  end
@@ -35,7 +35,7 @@ RSpec.describe ROF::Translators::FedoraToRof do
35
35
  "dc"=>"http://purl.org/dc/terms/",
36
36
  "ebucore"=>"http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#",
37
37
  "foaf"=>"http://xmlns.com/foaf/0.1/",
38
- 'hydramata-rel' => 'http://projecthydra.org/ns/relations#',
38
+ 'hydra' => 'http://projecthydra.org/ns/relations#',
39
39
  "mrel"=>"http://id.loc.gov/vocabulary/relators/",
40
40
  "ms" => 'http://www.ndltd.org/standards/metadata/etdms/1.1/',
41
41
  "nd"=>"https://library.nd.edu/ns/terms/",
@@ -8,6 +8,14 @@ module ROF
8
8
  # find . -maxdepth 2 -name '*.rof' -type f | xargs grep -l <pid>
9
9
  # ```
10
10
  RSpec.describe JsonldToRof do
11
+ describe 'DLTP-999 regression' do
12
+ it 'converts @graph > @id keys to pid' do
13
+ jsonld_from_curatend = JSON.load(File.read(File.join(GEM_ROOT, "spec/fixtures/DLTP-999/pr76f190f54.jsonld")))
14
+ output = described_class.call(jsonld_from_curatend, {})
15
+ expect(output.size).to eq(1) # We have one item
16
+ expect(output.first.fetch('pid')).to eq('und:pr76f190f54')
17
+ end
18
+ end
11
19
  describe '.call' do
12
20
  [
13
21
  '2j62s467216',
@@ -41,6 +41,8 @@ RSpec.describe ROF::Translators::OsfToRof do
41
41
  "hasModel"=>{"@id"=>"fedora-model:hasModel", "@type"=>"@id"},
42
42
  "hasEditor"=>{"@id"=>"hydra:hasEditor", "@type"=>"@id"},
43
43
  "hasEditorGroup"=>{"@id"=>"hydra:hasEditorGroup", "@type"=>"@id"},
44
+ "hasViewer"=>{"@id"=>"hydra:hasViewer", "@type"=>"@id"},
45
+ "hasViewerGroup"=>{"@id"=>"hydra:hasViewerGroup", "@type"=>"@id"},
44
46
  "isPartOf"=>{"@type"=>"@id"},
45
47
  "isMemberOfCollection"=>{"@type"=>"@id"},
46
48
  "isEditorOf"=>{"@id"=>"hydra:isEditorOf", "@type"=>"@id"},
@@ -50,7 +52,7 @@ RSpec.describe ROF::Translators::OsfToRof do
50
52
  "dc"=>"http://purl.org/dc/terms/",
51
53
  "ebucore"=>"http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#",
52
54
  "foaf"=>"http://xmlns.com/foaf/0.1/",
53
- 'hydramata-rel' => 'http://projecthydra.org/ns/relations#',
55
+ 'hydra' => 'http://projecthydra.org/ns/relations#',
54
56
  "mrel"=>"http://id.loc.gov/vocabulary/relators/",
55
57
  'ms' => 'http://www.ndltd.org/standards/metadata/etdms/1.1/',
56
58
  "nd"=>"https://library.nd.edu/ns/terms/",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rof
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-14 00:00:00.000000000 Z
11
+ date: 2017-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
@@ -351,6 +351,7 @@ email:
351
351
  - jeremy.n.friesen@gmail.com
352
352
  executables:
353
353
  - ".ruby-version"
354
+ - bundle
354
355
  - csv_to_rof
355
356
  - fedora_to_rof
356
357
  - jsonld_to_rof
@@ -368,6 +369,7 @@ files:
368
369
  - README.md
369
370
  - Rakefile
370
371
  - bin/.ruby-version
372
+ - bin/bundle
371
373
  - bin/csv_to_rof
372
374
  - bin/fedora_to_rof
373
375
  - bin/jsonld_to_rof
@@ -382,6 +384,7 @@ files:
382
384
  - lib/rof/compare_rof.rb
383
385
  - lib/rof/filter.rb
384
386
  - lib/rof/filters.rb
387
+ - lib/rof/filters/access_to_relsext.rb
385
388
  - lib/rof/filters/bendo.rb
386
389
  - lib/rof/filters/date_stamp.rb
387
390
  - lib/rof/filters/file_to_url.rb
@@ -406,6 +409,7 @@ files:
406
409
  - lib/rof/version.rb
407
410
  - rof.gemspec
408
411
  - spec/coverage_helper.rb
412
+ - spec/fixtures/DLTP-999/pr76f190f54.jsonld
409
413
  - spec/fixtures/a.json
410
414
  - spec/fixtures/for_utility_load_items_from_json_file/multiple_items.json
411
415
  - spec/fixtures/for_utility_load_items_from_json_file/parse_error.json
@@ -443,6 +447,7 @@ files:
443
447
  - spec/lib/rof/collection_spec.rb
444
448
  - spec/lib/rof/compare_rof_spec.rb
445
449
  - spec/lib/rof/filter_spec.rb
450
+ - spec/lib/rof/filters/access_to_relsext_spec.rb
446
451
  - spec/lib/rof/filters/bendo_spec.rb
447
452
  - spec/lib/rof/filters/date_stamp_spec.rb
448
453
  - spec/lib/rof/filters/file_to_url_spec.rb
@@ -492,6 +497,7 @@ specification_version: 4
492
497
  summary: Raw Object Format
493
498
  test_files:
494
499
  - spec/coverage_helper.rb
500
+ - spec/fixtures/DLTP-999/pr76f190f54.jsonld
495
501
  - spec/fixtures/a.json
496
502
  - spec/fixtures/for_utility_load_items_from_json_file/multiple_items.json
497
503
  - spec/fixtures/for_utility_load_items_from_json_file/parse_error.json
@@ -529,6 +535,7 @@ test_files:
529
535
  - spec/lib/rof/collection_spec.rb
530
536
  - spec/lib/rof/compare_rof_spec.rb
531
537
  - spec/lib/rof/filter_spec.rb
538
+ - spec/lib/rof/filters/access_to_relsext_spec.rb
532
539
  - spec/lib/rof/filters/bendo_spec.rb
533
540
  - spec/lib/rof/filters/date_stamp_spec.rb
534
541
  - spec/lib/rof/filters/file_to_url_spec.rb