iiif-presentation 1.0.0 → 1.2.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +35 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +2 -0
  5. data/README.md +22 -2
  6. data/VERSION +1 -1
  7. data/iiif-presentation.gemspec +1 -1
  8. data/lib/iiif/hash_behaviours.rb +1 -1
  9. data/lib/iiif/presentation/canvas.rb +4 -0
  10. data/lib/iiif/presentation/service.rb +12 -0
  11. data/lib/iiif/presentation.rb +5 -4
  12. data/lib/iiif/service.rb +40 -105
  13. data/lib/iiif/v3/abstract_resource.rb +491 -0
  14. data/lib/iiif/v3/presentation/annotation.rb +74 -0
  15. data/lib/iiif/v3/presentation/annotation_collection.rb +38 -0
  16. data/lib/iiif/v3/presentation/annotation_page.rb +53 -0
  17. data/lib/iiif/v3/presentation/canvas.rb +82 -0
  18. data/lib/iiif/v3/presentation/choice.rb +51 -0
  19. data/lib/iiif/v3/presentation/collection.rb +52 -0
  20. data/lib/iiif/v3/presentation/image_resource.rb +110 -0
  21. data/lib/iiif/v3/presentation/manifest.rb +82 -0
  22. data/lib/iiif/v3/presentation/range.rb +39 -0
  23. data/lib/iiif/v3/presentation/resource.rb +30 -0
  24. data/lib/iiif/v3/presentation/sequence.rb +66 -0
  25. data/lib/iiif/v3/presentation/service.rb +51 -0
  26. data/lib/iiif/v3/presentation.rb +36 -0
  27. data/spec/fixtures/v3/manifests/complete_from_spec.json +195 -0
  28. data/spec/fixtures/v3/manifests/minimal.json +49 -0
  29. data/spec/fixtures/v3/manifests/service_only.json +14 -0
  30. data/spec/fixtures/vcr_cassettes/pul_loris_cassette.json +1 -1
  31. data/spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json +1 -0
  32. data/spec/integration/iiif/presentation/image_resource_spec.rb +0 -1
  33. data/spec/integration/iiif/service_spec.rb +17 -32
  34. data/spec/integration/iiif/v3/abstract_resource_spec.rb +202 -0
  35. data/spec/integration/iiif/v3/presentation/image_resource_spec.rb +118 -0
  36. data/spec/spec_helper.rb +6 -0
  37. data/spec/unit/iiif/presentation/canvas_spec.rb +0 -1
  38. data/spec/unit/iiif/presentation/manifest_spec.rb +1 -1
  39. data/spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb +78 -0
  40. data/spec/unit/iiif/v3/abstract_resource_spec.rb +293 -0
  41. data/spec/unit/iiif/v3/presentation/annotation_collection_spec.rb +36 -0
  42. data/spec/unit/iiif/v3/presentation/annotation_page_spec.rb +131 -0
  43. data/spec/unit/iiif/v3/presentation/annotation_spec.rb +389 -0
  44. data/spec/unit/iiif/v3/presentation/canvas_spec.rb +337 -0
  45. data/spec/unit/iiif/v3/presentation/choice_spec.rb +120 -0
  46. data/spec/unit/iiif/v3/presentation/collection_spec.rb +55 -0
  47. data/spec/unit/iiif/v3/presentation/image_resource_spec.rb +189 -0
  48. data/spec/unit/iiif/v3/presentation/manifest_spec.rb +370 -0
  49. data/spec/unit/iiif/v3/presentation/range_spec.rb +54 -0
  50. data/spec/unit/iiif/v3/presentation/resource_spec.rb +174 -0
  51. data/spec/unit/iiif/v3/presentation/sequence_spec.rb +222 -0
  52. data/spec/unit/iiif/v3/presentation/service_spec.rb +220 -0
  53. data/spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb +41 -0
  54. data/spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb +31 -0
  55. data/spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb +40 -0
  56. data/spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb +40 -0
  57. data/spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb +45 -0
  58. data/spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb +45 -0
  59. data/spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb +26 -0
  60. data/spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb +31 -0
  61. metadata +82 -11
  62. data/.travis.yml +0 -11
@@ -0,0 +1,31 @@
1
+ shared_examples 'it has the appropriate methods for any-type keys v3' do
2
+
3
+ described_class.new.any_type_keys.each do |prop|
4
+ describe "##{prop}=" do
5
+ it "sets self['#{prop}']" do
6
+ subject.send("#{prop}=", fixed_values[prop])
7
+ expect(subject[prop]).to eq fixed_values[prop]
8
+ end
9
+ if prop.camelize(:lower) != prop
10
+ it "is aliased as ##{prop.camelize(:lower)}=" do
11
+ subject.send("#{prop.camelize(:lower)}=", fixed_values[prop])
12
+ expect(subject[prop]).to eq fixed_values[prop]
13
+ end
14
+ end
15
+ end
16
+
17
+ describe "##{prop}" do
18
+ it "gets self[#{prop}]" do
19
+ subject.send("[]=", prop, fixed_values[prop])
20
+ expect(subject.send("#{prop}")).to eq fixed_values[prop]
21
+ end
22
+ if prop.camelize(:lower) != prop
23
+ it "is aliased as ##{prop.camelize(:lower)}" do
24
+ subject.send("[]=", prop, fixed_values[prop])
25
+ expect(subject.send("#{prop.camelize(:lower)}")).to eq fixed_values[prop]
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,40 @@
1
+ shared_examples 'it has the appropriate methods for array-only keys v3' do
2
+
3
+ described_class.new.array_only_keys.each do |prop|
4
+
5
+ describe "#{prop}=" do
6
+ it "sets #{prop}" do
7
+ ex = [{'label' => 'XYZ'}]
8
+ subject.send("#{prop}=", ex)
9
+ expect(subject[prop]).to eq ex
10
+ end
11
+ if prop.camelize(:lower) != prop
12
+ it "is aliased as ##{prop.camelize(:lower)}=" do
13
+ ex = [{'label' => 'XYZ'}]
14
+ subject.send("#{prop.camelize(:lower)}=", ex)
15
+ expect(subject[prop]).to eq ex
16
+ end
17
+ end
18
+ it 'raises an exception when attempting to set it to something other than an Array' do
19
+ expect { subject.send("#{prop}=", 'Foo') }.to raise_error IIIF::V3::Presentation::IllegalValueError
20
+ end
21
+ end
22
+
23
+ describe "#{prop}" do
24
+ it "gets #{prop}" do
25
+ ex = [{'label' => 'XYZ'}]
26
+ subject[prop] = ex
27
+ expect(subject.send(prop)).to eq ex
28
+ end
29
+ if prop.camelize(:lower) != prop
30
+ it "is aliased as ##{prop.camelize(:lower)}" do
31
+ ex = [{'label' => 'XYZ'}]
32
+ subject[prop] = ex
33
+ expect(subject.send("#{prop.camelize(:lower)}")).to eq ex
34
+ end
35
+ end
36
+ end
37
+
38
+ end
39
+
40
+ end
@@ -0,0 +1,40 @@
1
+ shared_examples 'it has the appropriate methods for hash-only keys v3' do
2
+
3
+ described_class.new.hash_only_keys.each do |prop|
4
+
5
+ describe "#{prop}=" do
6
+ it "sets #{prop}" do
7
+ ex = {'label' => 'XYZ', 'fooBar' => 'bar'}
8
+ subject.send("#{prop}=", ex)
9
+ expect(subject[prop]).to eq ex
10
+ end
11
+ if prop.camelize(:lower) != prop
12
+ it "is aliased as ##{prop.camelize(:lower)}=" do
13
+ ex = {'label' => 'XYZ'}
14
+ subject.send("#{prop.camelize(:lower)}=", ex)
15
+ expect(subject[prop]).to eq ex
16
+ end
17
+ end
18
+ it 'raises an exception when attempting to set it to something other than a Hash' do
19
+ expect { subject.send("#{prop}=", ['Foo']) }.to raise_error IIIF::V3::Presentation::IllegalValueError
20
+ end
21
+ end
22
+
23
+ describe "#{prop}" do
24
+ it "gets #{prop}" do
25
+ ex = {'label' => 'XYZ', 'fooBar' => 'bar'}
26
+ subject[prop] = ex
27
+ expect(subject.send(prop)).to eq ex
28
+ end
29
+ if prop.camelize(:lower) != prop
30
+ it "is aliased as ##{prop.camelize(:lower)}" do
31
+ ex = {'fooBar' => 'bar'}
32
+ subject[prop] = ex
33
+ expect(subject.send("#{prop.camelize(:lower)}")).to eq ex
34
+ end
35
+ end
36
+ end
37
+
38
+ end
39
+
40
+ end
@@ -0,0 +1,45 @@
1
+ shared_examples 'it has the appropriate methods for integer-only keys v3' do
2
+
3
+ described_class.new.int_only_keys.each do |prop|
4
+
5
+ describe "#{prop}=" do
6
+ before(:all) do
7
+ @ex = 7200
8
+ end
9
+ it "sets #{prop}" do
10
+ subject.send("#{prop}=", @ex)
11
+ expect(subject[prop]).to eq @ex
12
+ end
13
+ if prop.camelize(:lower) != prop
14
+ it "is aliased as ##{prop.camelize(:lower)}=" do
15
+ subject.send("#{prop.camelize(:lower)}=", @ex)
16
+ expect(subject[prop]).to eq @ex
17
+ end
18
+ end
19
+ it 'raises an exception when attempting to set it to something other than an Integer' do
20
+ expect { subject.send("#{prop}=", 'Foo') }.to raise_error IIIF::V3::Presentation::IllegalValueError
21
+ end
22
+ it 'raises an exception when attempting to set it to a negative number' do
23
+ expect { subject.send("#{prop}=", -1) }.to raise_error IIIF::V3::Presentation::IllegalValueError
24
+ end
25
+ end
26
+
27
+ describe "#{prop}" do
28
+ before(:all) do
29
+ @ex = 7200
30
+ end
31
+ it "gets #{prop}" do
32
+ subject[prop] = @ex
33
+ expect(subject.send(prop)).to eq @ex
34
+ end
35
+ if prop.camelize(:lower) != prop
36
+ it "is aliased as ##{prop.camelize(:lower)}" do
37
+ subject[prop] = @ex
38
+ expect(subject.send("#{prop.camelize(:lower)}")).to eq @ex
39
+ end
40
+ end
41
+ end
42
+
43
+ end
44
+
45
+ end
@@ -0,0 +1,45 @@
1
+ shared_examples 'it has the appropriate methods for numeric-only keys v3' do
2
+
3
+ described_class.new.numeric_only_keys.each do |prop|
4
+
5
+ describe "#{prop}=" do
6
+ before(:all) do
7
+ @ex = 7200.0
8
+ end
9
+ it "sets #{prop}" do
10
+ subject.send("#{prop}=", @ex)
11
+ expect(subject[prop]).to eq @ex
12
+ end
13
+ if prop.camelize(:lower) != prop
14
+ it "is aliased as ##{prop.camelize(:lower)}=" do
15
+ subject.send("#{prop.camelize(:lower)}=", @ex)
16
+ expect(subject[prop]).to eq @ex
17
+ end
18
+ end
19
+ it 'raises an exception when attempting to set it to something other than an Integer' do
20
+ expect { subject.send("#{prop}=", 'Foo') }.to raise_error IIIF::V3::Presentation::IllegalValueError
21
+ end
22
+ it 'raises an exception when attempting to set it to a negative number' do
23
+ expect { subject.send("#{prop}=", -1.0) }.to raise_error IIIF::V3::Presentation::IllegalValueError
24
+ end
25
+ end
26
+
27
+ describe "#{prop}" do
28
+ before(:all) do
29
+ @ex = 7200.0
30
+ end
31
+ it "gets #{prop}" do
32
+ subject[prop] = @ex
33
+ expect(subject.send(prop)).to eq @ex
34
+ end
35
+ if prop.camelize(:lower) != prop
36
+ it "is aliased as ##{prop.camelize(:lower)}" do
37
+ subject[prop] = @ex
38
+ expect(subject.send("#{prop.camelize(:lower)}")).to eq @ex
39
+ end
40
+ end
41
+ end
42
+
43
+ end
44
+
45
+ end
@@ -0,0 +1,26 @@
1
+ shared_examples 'it has the appropriate methods for string-only keys v3' do
2
+
3
+ described_class.new.string_only_keys.each do |prop|
4
+
5
+ describe "#{prop}=" do
6
+ it "sets #{prop}" do
7
+ ex = 'foo'
8
+ subject.send("#{prop}=", ex)
9
+ expect(subject[prop]).to eq ex
10
+ end
11
+ it 'raises an exception when attempting to set it to something other than a String' do
12
+ expect { subject.send("#{prop}=", ['Foo']) }.to raise_error IIIF::V3::Presentation::IllegalValueError
13
+ end
14
+ end
15
+
16
+ describe "#{prop}" do
17
+ it "gets #{prop}" do
18
+ ex = 'bar'
19
+ subject[prop] = ex
20
+ expect(subject.send(prop)).to eq ex
21
+ end
22
+ end
23
+
24
+ end
25
+
26
+ end
@@ -0,0 +1,31 @@
1
+ shared_examples 'it has the appropriate methods for uri-only keys v3' do
2
+
3
+ described_class.new.uri_only_keys.each do |prop|
4
+
5
+ describe "#{prop}=" do
6
+ it "sets #{prop}" do
7
+ ex = 'http://example.org/foo'
8
+ subject.send("#{prop}=", ex)
9
+ expect(subject[prop]).to eq ex
10
+ end
11
+ it 'raises an exception when attempting to set it to something other than a String' do
12
+ expect { subject.send("#{prop}=", ['Foo']) }.to raise_error IIIF::V3::Presentation::IllegalValueError
13
+ expect { subject.send("#{prop}=", nil) }.to raise_error IIIF::V3::Presentation::IllegalValueError
14
+ end
15
+ it 'raises an exception when attempting to set it to something other than a parseable URI' do
16
+ expect { subject.send("#{prop}=", 'Not a URI') }.to raise_error IIIF::V3::Presentation::IllegalValueError
17
+ expect { subject.send("#{prop}=", '') }.to raise_error IIIF::V3::Presentation::IllegalValueError
18
+ end
19
+ end
20
+
21
+ describe "#{prop}" do
22
+ it "gets #{prop}" do
23
+ ex = 'bar'
24
+ subject[prop] = ex
25
+ expect(subject.send(prop)).to eq ex
26
+ end
27
+ end
28
+
29
+ end
30
+
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iiif-presentation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Stroop
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-17 00:00:00.000000000 Z
11
+ date: 2023-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -140,16 +140,16 @@ dependencies:
140
140
  name: faraday
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0.9'
145
+ version: '2.7'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0.9'
152
+ version: '2.7'
153
153
  description: API for working with IIIF Presentation manifests.
154
154
  email:
155
155
  - jpstroop@gmail.com
@@ -157,9 +157,9 @@ executables: []
157
157
  extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
+ - ".github/workflows/ruby.yml"
160
161
  - ".gitignore"
161
162
  - ".rspec"
162
- - ".travis.yml"
163
163
  - Gemfile
164
164
  - LICENSE
165
165
  - README.md
@@ -180,13 +180,34 @@ files:
180
180
  - lib/iiif/presentation/range.rb
181
181
  - lib/iiif/presentation/resource.rb
182
182
  - lib/iiif/presentation/sequence.rb
183
+ - lib/iiif/presentation/service.rb
183
184
  - lib/iiif/service.rb
185
+ - lib/iiif/v3/abstract_resource.rb
186
+ - lib/iiif/v3/presentation.rb
187
+ - lib/iiif/v3/presentation/annotation.rb
188
+ - lib/iiif/v3/presentation/annotation_collection.rb
189
+ - lib/iiif/v3/presentation/annotation_page.rb
190
+ - lib/iiif/v3/presentation/canvas.rb
191
+ - lib/iiif/v3/presentation/choice.rb
192
+ - lib/iiif/v3/presentation/collection.rb
193
+ - lib/iiif/v3/presentation/image_resource.rb
194
+ - lib/iiif/v3/presentation/manifest.rb
195
+ - lib/iiif/v3/presentation/range.rb
196
+ - lib/iiif/v3/presentation/resource.rb
197
+ - lib/iiif/v3/presentation/sequence.rb
198
+ - lib/iiif/v3/presentation/service.rb
184
199
  - spec/fixtures/manifests/complete_from_spec.json
185
200
  - spec/fixtures/manifests/minimal.json
186
201
  - spec/fixtures/manifests/service_only.json
202
+ - spec/fixtures/v3/manifests/complete_from_spec.json
203
+ - spec/fixtures/v3/manifests/minimal.json
204
+ - spec/fixtures/v3/manifests/service_only.json
187
205
  - spec/fixtures/vcr_cassettes/pul_loris_cassette.json
206
+ - spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json
188
207
  - spec/integration/iiif/presentation/image_resource_spec.rb
189
208
  - spec/integration/iiif/service_spec.rb
209
+ - spec/integration/iiif/v3/abstract_resource_spec.rb
210
+ - spec/integration/iiif/v3/presentation/image_resource_spec.rb
190
211
  - spec/spec_helper.rb
191
212
  - spec/unit/iiif/hash_behaviours_spec.rb
192
213
  - spec/unit/iiif/ordered_hash_spec.rb
@@ -207,11 +228,33 @@ files:
207
228
  - spec/unit/iiif/presentation/shared_examples/int_only_keys.rb
208
229
  - spec/unit/iiif/presentation/shared_examples/string_only_keys.rb
209
230
  - spec/unit/iiif/service_spec.rb
231
+ - spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb
232
+ - spec/unit/iiif/v3/abstract_resource_spec.rb
233
+ - spec/unit/iiif/v3/presentation/annotation_collection_spec.rb
234
+ - spec/unit/iiif/v3/presentation/annotation_page_spec.rb
235
+ - spec/unit/iiif/v3/presentation/annotation_spec.rb
236
+ - spec/unit/iiif/v3/presentation/canvas_spec.rb
237
+ - spec/unit/iiif/v3/presentation/choice_spec.rb
238
+ - spec/unit/iiif/v3/presentation/collection_spec.rb
239
+ - spec/unit/iiif/v3/presentation/image_resource_spec.rb
240
+ - spec/unit/iiif/v3/presentation/manifest_spec.rb
241
+ - spec/unit/iiif/v3/presentation/range_spec.rb
242
+ - spec/unit/iiif/v3/presentation/resource_spec.rb
243
+ - spec/unit/iiif/v3/presentation/sequence_spec.rb
244
+ - spec/unit/iiif/v3/presentation/service_spec.rb
245
+ - spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb
246
+ - spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb
247
+ - spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb
248
+ - spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb
249
+ - spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb
250
+ - spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb
251
+ - spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb
252
+ - spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb
210
253
  homepage: https://github.com/iiif/osullivan
211
254
  licenses:
212
255
  - Simplified BSD
213
256
  metadata: {}
214
- post_install_message:
257
+ post_install_message:
215
258
  rdoc_options: []
216
259
  require_paths:
217
260
  - lib
@@ -226,17 +269,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
269
  - !ruby/object:Gem::Version
227
270
  version: '0'
228
271
  requirements: []
229
- rubygems_version: 3.1.2
230
- signing_key:
272
+ rubygems_version: 3.4.20
273
+ signing_key:
231
274
  specification_version: 4
232
275
  summary: API for working with IIIF Presentation manifests.
233
276
  test_files:
234
277
  - spec/fixtures/manifests/complete_from_spec.json
235
278
  - spec/fixtures/manifests/minimal.json
236
279
  - spec/fixtures/manifests/service_only.json
280
+ - spec/fixtures/v3/manifests/complete_from_spec.json
281
+ - spec/fixtures/v3/manifests/minimal.json
282
+ - spec/fixtures/v3/manifests/service_only.json
237
283
  - spec/fixtures/vcr_cassettes/pul_loris_cassette.json
284
+ - spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json
238
285
  - spec/integration/iiif/presentation/image_resource_spec.rb
239
286
  - spec/integration/iiif/service_spec.rb
287
+ - spec/integration/iiif/v3/abstract_resource_spec.rb
288
+ - spec/integration/iiif/v3/presentation/image_resource_spec.rb
240
289
  - spec/spec_helper.rb
241
290
  - spec/unit/iiif/hash_behaviours_spec.rb
242
291
  - spec/unit/iiif/ordered_hash_spec.rb
@@ -257,3 +306,25 @@ test_files:
257
306
  - spec/unit/iiif/presentation/shared_examples/int_only_keys.rb
258
307
  - spec/unit/iiif/presentation/shared_examples/string_only_keys.rb
259
308
  - spec/unit/iiif/service_spec.rb
309
+ - spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb
310
+ - spec/unit/iiif/v3/abstract_resource_spec.rb
311
+ - spec/unit/iiif/v3/presentation/annotation_collection_spec.rb
312
+ - spec/unit/iiif/v3/presentation/annotation_page_spec.rb
313
+ - spec/unit/iiif/v3/presentation/annotation_spec.rb
314
+ - spec/unit/iiif/v3/presentation/canvas_spec.rb
315
+ - spec/unit/iiif/v3/presentation/choice_spec.rb
316
+ - spec/unit/iiif/v3/presentation/collection_spec.rb
317
+ - spec/unit/iiif/v3/presentation/image_resource_spec.rb
318
+ - spec/unit/iiif/v3/presentation/manifest_spec.rb
319
+ - spec/unit/iiif/v3/presentation/range_spec.rb
320
+ - spec/unit/iiif/v3/presentation/resource_spec.rb
321
+ - spec/unit/iiif/v3/presentation/sequence_spec.rb
322
+ - spec/unit/iiif/v3/presentation/service_spec.rb
323
+ - spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb
324
+ - spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb
325
+ - spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb
326
+ - spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb
327
+ - spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb
328
+ - spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb
329
+ - spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb
330
+ - spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.7.0
4
-
5
- env:
6
- - RAILS_VERSION='~> 5.2'
7
- - RAILS_VERSION='~> 6.0'
8
- - RAILS_VERSION='~> 6.0' FARADAY_VERSION='< 1.0'
9
- install:
10
- - "gem install bundler"
11
- - "bundle install --jobs=3 --retry=3"