iiif-presentation 1.1.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +2 -2
- data/.gitignore +1 -0
- data/Gemfile +2 -0
- data/README.md +22 -1
- data/VERSION +1 -1
- data/iiif-presentation.gemspec +2 -1
- data/lib/iiif/presentation/canvas.rb +4 -0
- data/lib/iiif/presentation/service.rb +12 -0
- data/lib/iiif/presentation.rb +5 -4
- data/lib/iiif/service.rb +38 -103
- data/lib/iiif/v3/abstract_resource.rb +491 -0
- data/lib/iiif/v3/presentation/annotation.rb +74 -0
- data/lib/iiif/v3/presentation/annotation_collection.rb +38 -0
- data/lib/iiif/v3/presentation/annotation_page.rb +53 -0
- data/lib/iiif/v3/presentation/canvas.rb +82 -0
- data/lib/iiif/v3/presentation/choice.rb +51 -0
- data/lib/iiif/v3/presentation/collection.rb +52 -0
- data/lib/iiif/v3/presentation/image_resource.rb +110 -0
- data/lib/iiif/v3/presentation/manifest.rb +82 -0
- data/lib/iiif/v3/presentation/nav_place.rb +109 -0
- data/lib/iiif/v3/presentation/range.rb +39 -0
- data/lib/iiif/v3/presentation/resource.rb +30 -0
- data/lib/iiif/v3/presentation/sequence.rb +66 -0
- data/lib/iiif/v3/presentation/service.rb +51 -0
- data/lib/iiif/v3/presentation.rb +37 -0
- data/spec/fixtures/v3/manifests/complete_from_spec.json +195 -0
- data/spec/fixtures/v3/manifests/minimal.json +49 -0
- data/spec/fixtures/v3/manifests/service_only.json +14 -0
- data/spec/fixtures/vcr_cassettes/pul_loris_cassette.json +1 -1
- data/spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json +1 -0
- data/spec/integration/iiif/presentation/image_resource_spec.rb +0 -1
- data/spec/integration/iiif/service_spec.rb +17 -32
- data/spec/integration/iiif/v3/abstract_resource_spec.rb +202 -0
- data/spec/integration/iiif/v3/presentation/image_resource_spec.rb +118 -0
- data/spec/spec_helper.rb +6 -0
- data/spec/unit/iiif/presentation/canvas_spec.rb +0 -1
- data/spec/unit/iiif/presentation/manifest_spec.rb +1 -1
- data/spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb +78 -0
- data/spec/unit/iiif/v3/abstract_resource_spec.rb +293 -0
- data/spec/unit/iiif/v3/presentation/annotation_collection_spec.rb +36 -0
- data/spec/unit/iiif/v3/presentation/annotation_page_spec.rb +131 -0
- data/spec/unit/iiif/v3/presentation/annotation_spec.rb +389 -0
- data/spec/unit/iiif/v3/presentation/canvas_spec.rb +337 -0
- data/spec/unit/iiif/v3/presentation/choice_spec.rb +120 -0
- data/spec/unit/iiif/v3/presentation/collection_spec.rb +55 -0
- data/spec/unit/iiif/v3/presentation/image_resource_spec.rb +189 -0
- data/spec/unit/iiif/v3/presentation/manifest_spec.rb +370 -0
- data/spec/unit/iiif/v3/presentation/nav_place_spec.rb +80 -0
- data/spec/unit/iiif/v3/presentation/range_spec.rb +54 -0
- data/spec/unit/iiif/v3/presentation/resource_spec.rb +174 -0
- data/spec/unit/iiif/v3/presentation/sequence_spec.rb +222 -0
- data/spec/unit/iiif/v3/presentation/service_spec.rb +220 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb +41 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb +31 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb +40 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb +40 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb +45 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb +45 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb +26 -0
- data/spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb +31 -0
- metadata +93 -5
@@ -0,0 +1,41 @@
|
|
1
|
+
shared_examples 'it has the appropriate methods for abstract_resource_only_keys v3' do
|
2
|
+
|
3
|
+
described_class.new.abstract_resource_only_keys.each do |entry|
|
4
|
+
|
5
|
+
describe "#{entry[:key]}=" do
|
6
|
+
it "sets #{entry[:key]}" do
|
7
|
+
@ex = entry[:type].new
|
8
|
+
subject.send("#{entry[:key]}=", @ex)
|
9
|
+
expect(subject[entry[:key]]).to eq @ex
|
10
|
+
end
|
11
|
+
if entry[:key].camelize(:lower) != entry[:key]
|
12
|
+
it "is aliased as ##{entry[:key].camelize(:lower)}=" do
|
13
|
+
@ex = entry[:type].new
|
14
|
+
subject.send("#{entry[:key].camelize(:lower)}=", @ex)
|
15
|
+
expect(subject[entry[:key]]).to eq @ex
|
16
|
+
end
|
17
|
+
end
|
18
|
+
it "raises an exception when attempting to set it to something other than an #{entry[:type]}" do
|
19
|
+
e = IIIF::V3::Presentation::IllegalValueError
|
20
|
+
expect { subject.send("#{entry[:key]}=", 'Foo') }.to raise_error e
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#{entry[:key]}" do
|
25
|
+
it "gets #{entry[:key]}" do
|
26
|
+
@ex = entry[:type].new
|
27
|
+
subject[entry[:key]] = @ex
|
28
|
+
expect(subject.send(entry[:key])).to eq @ex
|
29
|
+
end
|
30
|
+
if entry[:key].camelize(:lower) != entry[:key]
|
31
|
+
it "is aliased as ##{entry[:key].camelize(:lower)}" do
|
32
|
+
@ex = entry[:type].new
|
33
|
+
subject[entry[:key]] = @ex
|
34
|
+
expect(subject.send("#{entry[:key].camelize(:lower)}")).to eq @ex
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -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.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Stroop
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01
|
11
|
+
date: 2023-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -138,18 +138,32 @@ dependencies:
|
|
138
138
|
version: 3.2.18
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: faraday
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '2.7'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '2.7'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: geo_coord
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
157
|
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0
|
159
|
+
version: '0'
|
146
160
|
type: :runtime
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
164
|
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0
|
166
|
+
version: '0'
|
153
167
|
description: API for working with IIIF Presentation manifests.
|
154
168
|
email:
|
155
169
|
- jpstroop@gmail.com
|
@@ -180,13 +194,35 @@ files:
|
|
180
194
|
- lib/iiif/presentation/range.rb
|
181
195
|
- lib/iiif/presentation/resource.rb
|
182
196
|
- lib/iiif/presentation/sequence.rb
|
197
|
+
- lib/iiif/presentation/service.rb
|
183
198
|
- lib/iiif/service.rb
|
199
|
+
- lib/iiif/v3/abstract_resource.rb
|
200
|
+
- lib/iiif/v3/presentation.rb
|
201
|
+
- lib/iiif/v3/presentation/annotation.rb
|
202
|
+
- lib/iiif/v3/presentation/annotation_collection.rb
|
203
|
+
- lib/iiif/v3/presentation/annotation_page.rb
|
204
|
+
- lib/iiif/v3/presentation/canvas.rb
|
205
|
+
- lib/iiif/v3/presentation/choice.rb
|
206
|
+
- lib/iiif/v3/presentation/collection.rb
|
207
|
+
- lib/iiif/v3/presentation/image_resource.rb
|
208
|
+
- lib/iiif/v3/presentation/manifest.rb
|
209
|
+
- lib/iiif/v3/presentation/nav_place.rb
|
210
|
+
- lib/iiif/v3/presentation/range.rb
|
211
|
+
- lib/iiif/v3/presentation/resource.rb
|
212
|
+
- lib/iiif/v3/presentation/sequence.rb
|
213
|
+
- lib/iiif/v3/presentation/service.rb
|
184
214
|
- spec/fixtures/manifests/complete_from_spec.json
|
185
215
|
- spec/fixtures/manifests/minimal.json
|
186
216
|
- spec/fixtures/manifests/service_only.json
|
217
|
+
- spec/fixtures/v3/manifests/complete_from_spec.json
|
218
|
+
- spec/fixtures/v3/manifests/minimal.json
|
219
|
+
- spec/fixtures/v3/manifests/service_only.json
|
187
220
|
- spec/fixtures/vcr_cassettes/pul_loris_cassette.json
|
221
|
+
- spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json
|
188
222
|
- spec/integration/iiif/presentation/image_resource_spec.rb
|
189
223
|
- spec/integration/iiif/service_spec.rb
|
224
|
+
- spec/integration/iiif/v3/abstract_resource_spec.rb
|
225
|
+
- spec/integration/iiif/v3/presentation/image_resource_spec.rb
|
190
226
|
- spec/spec_helper.rb
|
191
227
|
- spec/unit/iiif/hash_behaviours_spec.rb
|
192
228
|
- spec/unit/iiif/ordered_hash_spec.rb
|
@@ -207,6 +243,29 @@ files:
|
|
207
243
|
- spec/unit/iiif/presentation/shared_examples/int_only_keys.rb
|
208
244
|
- spec/unit/iiif/presentation/shared_examples/string_only_keys.rb
|
209
245
|
- spec/unit/iiif/service_spec.rb
|
246
|
+
- spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb
|
247
|
+
- spec/unit/iiif/v3/abstract_resource_spec.rb
|
248
|
+
- spec/unit/iiif/v3/presentation/annotation_collection_spec.rb
|
249
|
+
- spec/unit/iiif/v3/presentation/annotation_page_spec.rb
|
250
|
+
- spec/unit/iiif/v3/presentation/annotation_spec.rb
|
251
|
+
- spec/unit/iiif/v3/presentation/canvas_spec.rb
|
252
|
+
- spec/unit/iiif/v3/presentation/choice_spec.rb
|
253
|
+
- spec/unit/iiif/v3/presentation/collection_spec.rb
|
254
|
+
- spec/unit/iiif/v3/presentation/image_resource_spec.rb
|
255
|
+
- spec/unit/iiif/v3/presentation/manifest_spec.rb
|
256
|
+
- spec/unit/iiif/v3/presentation/nav_place_spec.rb
|
257
|
+
- spec/unit/iiif/v3/presentation/range_spec.rb
|
258
|
+
- spec/unit/iiif/v3/presentation/resource_spec.rb
|
259
|
+
- spec/unit/iiif/v3/presentation/sequence_spec.rb
|
260
|
+
- spec/unit/iiif/v3/presentation/service_spec.rb
|
261
|
+
- spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb
|
262
|
+
- spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb
|
263
|
+
- spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb
|
264
|
+
- spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb
|
265
|
+
- spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb
|
266
|
+
- spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb
|
267
|
+
- spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb
|
268
|
+
- spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb
|
210
269
|
homepage: https://github.com/iiif/osullivan
|
211
270
|
licenses:
|
212
271
|
- Simplified BSD
|
@@ -226,7 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
285
|
- !ruby/object:Gem::Version
|
227
286
|
version: '0'
|
228
287
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
288
|
+
rubygems_version: 3.4.21
|
230
289
|
signing_key:
|
231
290
|
specification_version: 4
|
232
291
|
summary: API for working with IIIF Presentation manifests.
|
@@ -234,9 +293,15 @@ test_files:
|
|
234
293
|
- spec/fixtures/manifests/complete_from_spec.json
|
235
294
|
- spec/fixtures/manifests/minimal.json
|
236
295
|
- spec/fixtures/manifests/service_only.json
|
296
|
+
- spec/fixtures/v3/manifests/complete_from_spec.json
|
297
|
+
- spec/fixtures/v3/manifests/minimal.json
|
298
|
+
- spec/fixtures/v3/manifests/service_only.json
|
237
299
|
- spec/fixtures/vcr_cassettes/pul_loris_cassette.json
|
300
|
+
- spec/fixtures/vcr_cassettes/pul_loris_cassette_v3.json
|
238
301
|
- spec/integration/iiif/presentation/image_resource_spec.rb
|
239
302
|
- spec/integration/iiif/service_spec.rb
|
303
|
+
- spec/integration/iiif/v3/abstract_resource_spec.rb
|
304
|
+
- spec/integration/iiif/v3/presentation/image_resource_spec.rb
|
240
305
|
- spec/spec_helper.rb
|
241
306
|
- spec/unit/iiif/hash_behaviours_spec.rb
|
242
307
|
- spec/unit/iiif/ordered_hash_spec.rb
|
@@ -257,3 +322,26 @@ test_files:
|
|
257
322
|
- spec/unit/iiif/presentation/shared_examples/int_only_keys.rb
|
258
323
|
- spec/unit/iiif/presentation/shared_examples/string_only_keys.rb
|
259
324
|
- spec/unit/iiif/service_spec.rb
|
325
|
+
- spec/unit/iiif/v3/abstract_resource_define_methods_for_spec.rb
|
326
|
+
- spec/unit/iiif/v3/abstract_resource_spec.rb
|
327
|
+
- spec/unit/iiif/v3/presentation/annotation_collection_spec.rb
|
328
|
+
- spec/unit/iiif/v3/presentation/annotation_page_spec.rb
|
329
|
+
- spec/unit/iiif/v3/presentation/annotation_spec.rb
|
330
|
+
- spec/unit/iiif/v3/presentation/canvas_spec.rb
|
331
|
+
- spec/unit/iiif/v3/presentation/choice_spec.rb
|
332
|
+
- spec/unit/iiif/v3/presentation/collection_spec.rb
|
333
|
+
- spec/unit/iiif/v3/presentation/image_resource_spec.rb
|
334
|
+
- spec/unit/iiif/v3/presentation/manifest_spec.rb
|
335
|
+
- spec/unit/iiif/v3/presentation/nav_place_spec.rb
|
336
|
+
- spec/unit/iiif/v3/presentation/range_spec.rb
|
337
|
+
- spec/unit/iiif/v3/presentation/resource_spec.rb
|
338
|
+
- spec/unit/iiif/v3/presentation/sequence_spec.rb
|
339
|
+
- spec/unit/iiif/v3/presentation/service_spec.rb
|
340
|
+
- spec/unit/iiif/v3/presentation/shared_examples/abstract_resource_only_keys.rb
|
341
|
+
- spec/unit/iiif/v3/presentation/shared_examples/any_type_keys.rb
|
342
|
+
- spec/unit/iiif/v3/presentation/shared_examples/array_only_keys.rb
|
343
|
+
- spec/unit/iiif/v3/presentation/shared_examples/hash_only_keys.rb
|
344
|
+
- spec/unit/iiif/v3/presentation/shared_examples/int_only_keys.rb
|
345
|
+
- spec/unit/iiif/v3/presentation/shared_examples/numeric_only_keys.rb
|
346
|
+
- spec/unit/iiif/v3/presentation/shared_examples/string_only_keys.rb
|
347
|
+
- spec/unit/iiif/v3/presentation/shared_examples/uri_only_keys.rb
|