iiif-presentation 1.4.2 → 1.5.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +8 -1
  3. data/.standard.yml +1 -0
  4. data/Gemfile +5 -5
  5. data/README.md +1 -1
  6. data/Rakefile +4 -2
  7. data/VERSION +1 -1
  8. data/bin/standardrb +16 -0
  9. data/iiif-presentation.gemspec +23 -23
  10. data/lib/iiif/hash_behaviours.rb +29 -33
  11. data/lib/iiif/ordered_hash.rb +33 -33
  12. data/lib/iiif/presentation/abstract_resource.rb +17 -22
  13. data/lib/iiif/presentation/annotation.rb +9 -11
  14. data/lib/iiif/presentation/annotation_list.rb +8 -10
  15. data/lib/iiif/presentation/canvas.rb +11 -13
  16. data/lib/iiif/presentation/collection.rb +7 -9
  17. data/lib/iiif/presentation/image_resource.rb +33 -35
  18. data/lib/iiif/presentation/layer.rb +8 -10
  19. data/lib/iiif/presentation/manifest.rb +9 -12
  20. data/lib/iiif/presentation/range.rb +8 -10
  21. data/lib/iiif/presentation/resource.rb +5 -7
  22. data/lib/iiif/presentation/sequence.rb +8 -11
  23. data/lib/iiif/presentation/service.rb +1 -2
  24. data/lib/iiif/presentation.rb +7 -7
  25. data/lib/iiif/service.rb +121 -102
  26. data/lib/iiif/v3/abstract_resource.rb +127 -130
  27. data/lib/iiif/v3/presentation/annotation.rb +20 -21
  28. data/lib/iiif/v3/presentation/annotation_collection.rb +7 -9
  29. data/lib/iiif/v3/presentation/annotation_page.rb +14 -15
  30. data/lib/iiif/v3/presentation/canvas.rb +21 -22
  31. data/lib/iiif/v3/presentation/choice.rb +14 -15
  32. data/lib/iiif/v3/presentation/collection.rb +7 -8
  33. data/lib/iiif/v3/presentation/image_resource.rb +21 -22
  34. data/lib/iiif/v3/presentation/manifest.rb +18 -19
  35. data/lib/iiif/v3/presentation/nav_place.rb +125 -29
  36. data/lib/iiif/v3/presentation/range.rb +10 -10
  37. data/lib/iiif/v3/presentation/resource.rb +4 -5
  38. data/lib/iiif/v3/presentation/sequence.rb +10 -11
  39. data/lib/iiif/v3/presentation/service.rb +12 -13
  40. data/lib/iiif/v3/presentation.rb +8 -8
  41. data/spec/integration/iiif/presentation/image_resource_spec.rb +54 -58
  42. data/spec/integration/iiif/service_spec.rb +76 -77
  43. data/spec/integration/iiif/v3/abstract_resource_spec.rb +72 -73
  44. data/spec/integration/iiif/v3/presentation/image_resource_spec.rb +53 -56
  45. data/spec/spec_helper.rb +56 -64
  46. data/spec/unit/iiif/hash_behaviours_spec.rb +384 -387
  47. data/spec/unit/iiif/ordered_hash_spec.rb +86 -91
  48. data/spec/unit/iiif/presentation/abstract_resource_spec.rb +64 -70
  49. data/spec/unit/iiif/presentation/annotation_list_spec.rb +1 -3
  50. data/spec/unit/iiif/presentation/annotation_spec.rb +1 -3
  51. data/spec/unit/iiif/presentation/canvas_spec.rb +11 -14
  52. data/spec/unit/iiif/presentation/collection_spec.rb +26 -33
  53. data/spec/unit/iiif/presentation/image_resource_spec.rb +4 -6
  54. data/spec/unit/iiif/presentation/layer_spec.rb +16 -20
  55. data/spec/unit/iiif/presentation/manifest_spec.rb +45 -48
  56. data/spec/unit/iiif/presentation/range_spec.rb +18 -22
  57. data/spec/unit/iiif/presentation/resource_spec.rb +3 -6
  58. data/spec/unit/iiif/presentation/sequence_spec.rb +58 -63
  59. data/spec/unit/iiif/presentation/shared_examples/abstract_resource_only_keys.rb +4 -10
  60. data/spec/unit/iiif/presentation/shared_examples/any_type_keys.rb +5 -9
  61. data/spec/unit/iiif/presentation/shared_examples/array_only_keys.rb +9 -17
  62. data/spec/unit/iiif/presentation/shared_examples/int_only_keys.rb +6 -14
  63. data/spec/unit/iiif/presentation/shared_examples/string_only_keys.rb +6 -13
  64. data/spec/unit/iiif/service_spec.rb +8 -13
  65. data/spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb +39 -37
  66. data/spec/unit/iiif/v3/abstract_resource_spec.rb +124 -131
  67. data/spec/unit/iiif/v3/presentation/annotation_collection_spec.rb +14 -17
  68. data/spec/unit/iiif/v3/presentation/annotation_page_spec.rb +71 -69
  69. data/spec/unit/iiif/v3/presentation/annotation_spec.rb +249 -233
  70. data/spec/unit/iiif/v3/presentation/canvas_spec.rb +211 -193
  71. data/spec/unit/iiif/v3/presentation/choice_spec.rb +81 -77
  72. data/spec/unit/iiif/v3/presentation/collection_spec.rb +24 -29
  73. data/spec/unit/iiif/v3/presentation/image_resource_spec.rb +70 -71
  74. data/spec/unit/iiif/v3/presentation/manifest_spec.rb +248 -235
  75. data/spec/unit/iiif/v3/presentation/nav_place_spec.rb +249 -49
  76. data/spec/unit/iiif/v3/presentation/range_spec.rb +28 -29
  77. data/spec/unit/iiif/v3/presentation/resource_spec.rb +83 -82
  78. data/spec/unit/iiif/v3/presentation/sequence_spec.rb +125 -119
  79. data/spec/unit/iiif/v3/presentation/service_spec.rb +123 -124
  80. data/spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb +4 -8
  81. data/spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb +5 -7
  82. data/spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb +9 -13
  83. data/spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb +9 -13
  84. data/spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb +6 -10
  85. data/spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb +6 -10
  86. data/spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb +6 -10
  87. data/spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb +9 -13
  88. metadata +26 -65
@@ -1,31 +1,27 @@
1
- shared_examples 'it has the appropriate methods for uri-only keys v3' do
2
-
1
+ shared_examples "it has the appropriate methods for uri-only keys v3" do
3
2
  described_class.new.uri_only_keys.each do |prop|
4
-
5
3
  describe "#{prop}=" do
6
4
  it "sets #{prop}" do
7
- ex = 'http://example.org/foo'
5
+ ex = "http://example.org/foo"
8
6
  subject.send("#{prop}=", ex)
9
7
  expect(subject[prop]).to eq ex
10
8
  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
9
+ it "raises an exception when attempting to set it to something other than a String" do
10
+ expect { subject.send("#{prop}=", ["Foo"]) }.to raise_error IIIF::V3::Presentation::IllegalValueError
13
11
  expect { subject.send("#{prop}=", nil) }.to raise_error IIIF::V3::Presentation::IllegalValueError
14
12
  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
13
+ it "raises an exception when attempting to set it to something other than a parseable URI" do
14
+ expect { subject.send("#{prop}=", "Not a URI") }.to raise_error IIIF::V3::Presentation::IllegalValueError
15
+ expect { subject.send("#{prop}=", "") }.to raise_error IIIF::V3::Presentation::IllegalValueError
18
16
  end
19
17
  end
20
18
 
21
- describe "#{prop}" do
19
+ describe prop.to_s do
22
20
  it "gets #{prop}" do
23
- ex = 'bar'
21
+ ex = "bar"
24
22
  subject[prop] = ex
25
23
  expect(subject.send(prop)).to eq ex
26
24
  end
27
25
  end
28
-
29
26
  end
30
-
31
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iiif-presentation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Stroop
@@ -52,19 +52,19 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  - !ruby/object:Gem::Dependency
55
- name: coveralls
55
+ name: simplecov
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ">="
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0'
60
+ version: '1.3'
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ">="
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0'
67
+ version: '1.3'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: webmock
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -99,14 +99,28 @@ dependencies:
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '5'
102
+ version: '6.4'
103
103
  type: :development
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '5'
109
+ version: '6.4'
110
+ - !ruby/object:Gem::Dependency
111
+ name: standard
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
110
124
  - !ruby/object:Gem::Dependency
111
125
  name: json
112
126
  requirement: !ruby/object:Gem::Requirement
@@ -173,11 +187,13 @@ files:
173
187
  - ".github/workflows/ruby.yml"
174
188
  - ".gitignore"
175
189
  - ".rspec"
190
+ - ".standard.yml"
176
191
  - Gemfile
177
192
  - LICENSE
178
193
  - README.md
179
194
  - Rakefile
180
195
  - VERSION
196
+ - bin/standardrb
181
197
  - iiif-presentation.gemspec
182
198
  - lib/iiif/hash_behaviours.rb
183
199
  - lib/iiif/ordered_hash.rb
@@ -283,62 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
283
299
  - !ruby/object:Gem::Version
284
300
  version: '0'
285
301
  requirements: []
286
- rubygems_version: 3.6.9
302
+ rubygems_version: 4.0.3
287
303
  specification_version: 4
288
304
  summary: API for working with IIIF Presentation manifests.
289
- test_files:
290
- - spec/fixtures/manifests/complete_from_spec.json
291
- - spec/fixtures/manifests/minimal.json
292
- - spec/fixtures/manifests/service_only.json
293
- - spec/fixtures/v3/manifests/complete_from_spec.json
294
- - spec/fixtures/v3/manifests/minimal.json
295
- - spec/fixtures/v3/manifests/service_only.json
296
- - spec/fixtures/vcr_cassettes/pul_loris_cassette.json
297
- - spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json
298
- - spec/integration/iiif/presentation/image_resource_spec.rb
299
- - spec/integration/iiif/service_spec.rb
300
- - spec/integration/iiif/v3/abstract_resource_spec.rb
301
- - spec/integration/iiif/v3/presentation/image_resource_spec.rb
302
- - spec/spec_helper.rb
303
- - spec/unit/iiif/hash_behaviours_spec.rb
304
- - spec/unit/iiif/ordered_hash_spec.rb
305
- - spec/unit/iiif/presentation/abstract_resource_spec.rb
306
- - spec/unit/iiif/presentation/annotation_list_spec.rb
307
- - spec/unit/iiif/presentation/annotation_spec.rb
308
- - spec/unit/iiif/presentation/canvas_spec.rb
309
- - spec/unit/iiif/presentation/collection_spec.rb
310
- - spec/unit/iiif/presentation/image_resource_spec.rb
311
- - spec/unit/iiif/presentation/layer_spec.rb
312
- - spec/unit/iiif/presentation/manifest_spec.rb
313
- - spec/unit/iiif/presentation/range_spec.rb
314
- - spec/unit/iiif/presentation/resource_spec.rb
315
- - spec/unit/iiif/presentation/sequence_spec.rb
316
- - spec/unit/iiif/presentation/shared_examples/abstract_resource_only_keys.rb
317
- - spec/unit/iiif/presentation/shared_examples/any_type_keys.rb
318
- - spec/unit/iiif/presentation/shared_examples/array_only_keys.rb
319
- - spec/unit/iiif/presentation/shared_examples/int_only_keys.rb
320
- - spec/unit/iiif/presentation/shared_examples/string_only_keys.rb
321
- - spec/unit/iiif/service_spec.rb
322
- - spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb
323
- - spec/unit/iiif/v3/abstract_resource_spec.rb
324
- - spec/unit/iiif/v3/presentation/annotation_collection_spec.rb
325
- - spec/unit/iiif/v3/presentation/annotation_page_spec.rb
326
- - spec/unit/iiif/v3/presentation/annotation_spec.rb
327
- - spec/unit/iiif/v3/presentation/canvas_spec.rb
328
- - spec/unit/iiif/v3/presentation/choice_spec.rb
329
- - spec/unit/iiif/v3/presentation/collection_spec.rb
330
- - spec/unit/iiif/v3/presentation/image_resource_spec.rb
331
- - spec/unit/iiif/v3/presentation/manifest_spec.rb
332
- - spec/unit/iiif/v3/presentation/nav_place_spec.rb
333
- - spec/unit/iiif/v3/presentation/range_spec.rb
334
- - spec/unit/iiif/v3/presentation/resource_spec.rb
335
- - spec/unit/iiif/v3/presentation/sequence_spec.rb
336
- - spec/unit/iiif/v3/presentation/service_spec.rb
337
- - spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb
338
- - spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb
339
- - spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb
340
- - spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb
341
- - spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb
342
- - spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb
343
- - spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb
344
- - spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb
305
+ test_files: []