atlas_rb 1.8.5 → 1.8.6
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.
- checksums.yaml +4 -4
- data/.version +1 -1
- data/Gemfile.lock +1 -1
- data/lib/atlas_rb/work.rb +31 -17
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c3cb4c5a2d7eb16f4647817a9afc282ce6ebb34d9a8b46c7bfaefa304373317f
|
|
4
|
+
data.tar.gz: 2524726c4bcc1d24bc0a51f812dde391da066ec5b65540ec3c91d8f37d7d4724
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77c312024d884794f49976c38d1cc53ea949db0e1e24f24f016f104158509d219ec0517deb29567176ce5e53a9e971d9ec11996cba4f77fc4fe2050be3965e9a
|
|
7
|
+
data.tar.gz: e8d194e9632802f871cbd89efb7625a6ca633643f119d4aefaab306aecde4719b098e2e78578f862b190c9d2172a0ada3208976ddb600d6c2a4c8de6bfb413d4
|
data/.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.8.
|
|
1
|
+
1.8.6
|
data/Gemfile.lock
CHANGED
data/lib/atlas_rb/work.rb
CHANGED
|
@@ -345,28 +345,37 @@ module AtlasRb
|
|
|
345
345
|
))
|
|
346
346
|
end
|
|
347
347
|
|
|
348
|
-
# Replace a Work's per-
|
|
348
|
+
# Replace a Work's per-asset derivative-visibility policy.
|
|
349
349
|
#
|
|
350
|
-
# Sets which read groups may fetch the Work's
|
|
351
|
-
#
|
|
352
|
-
#
|
|
353
|
-
#
|
|
354
|
-
#
|
|
355
|
-
#
|
|
356
|
-
#
|
|
357
|
-
# tier as `[]` to make it private.
|
|
350
|
+
# Sets which read groups may fetch each of the Work's downloadable
|
|
351
|
+
# renditions, reusing the resource read-group vocabulary (`"public"`,
|
|
352
|
+
# Grouper group names, `[]` = private). Two media families:
|
|
353
|
+
#
|
|
354
|
+
# * the image ladder `small` / `medium` / `large` / `service` (deep-zoom) /
|
|
355
|
+
# `master` (the original image), and
|
|
356
|
+
# * independent media `audio` / `video` / `pdf`.
|
|
358
357
|
#
|
|
359
|
-
#
|
|
360
|
-
#
|
|
361
|
-
#
|
|
362
|
-
#
|
|
363
|
-
#
|
|
358
|
+
# Unlike {.set_image_derivatives} (which upserts URIs) this is a whole-object
|
|
359
|
+
# REPLACE: the map you pass is the complete policy. Within the image ladder
|
|
360
|
+
# omitted tiers inherit by cascade (an absent tier inherits the next
|
|
361
|
+
# lower-resolution tier; `small` inherits the Work's own visibility).
|
|
362
|
+
# Independent media do NOT cascade — an absent `audio`/`video`/`pdf` key
|
|
363
|
+
# rides the Work. Pass a tier as `[]` to make it private.
|
|
364
|
+
#
|
|
365
|
+
# Atlas enforces: a tier may not be more visible than the Work, and — within
|
|
366
|
+
# the image ladder — visibility must narrow as resolution grows
|
|
367
|
+
# (`master` ⊆ `service` ⊆ `large` ⊆ `medium` ⊆ `small`; independent media
|
|
368
|
+
# impose no ordering). The gate is advisory — it surfaces on {.assets} as
|
|
369
|
+
# `gated` / `permission` for BOTH Delegate (image tier) and Blob (master /
|
|
370
|
+
# pdf / audio / video, classified by media type) entries, for the display
|
|
371
|
+
# layer (Cerberus / the IIIF auth service; Cerberus's download :read check)
|
|
372
|
+
# to enforce.
|
|
364
373
|
#
|
|
365
374
|
# @param id [String] the Work ID.
|
|
366
375
|
# @param policy [Hash] tier => Array(read groups), e.g.
|
|
367
|
-
# `{ large: ["northeastern:drs:repository:archives"],
|
|
368
|
-
# Keys may be strings or symbols;
|
|
369
|
-
# `service`
|
|
376
|
+
# `{ large: ["northeastern:drs:repository:archives"], master: [...] }`.
|
|
377
|
+
# Keys may be strings or symbols; recognized keys are `small` / `medium` /
|
|
378
|
+
# `large` / `service` / `master` / `audio` / `video` / `pdf`.
|
|
370
379
|
# @param nuid [String, nil] optional acting user's NUID. On the relay-signing
|
|
371
380
|
# path it is signed into the assertion `sub`; on the BYO-JWT (`ATLAS_JWT`)
|
|
372
381
|
# path it is ignored (identity lives in the token).
|
|
@@ -437,6 +446,11 @@ module AtlasRb
|
|
|
437
446
|
# duck-type on the field they need rather than expecting a single
|
|
438
447
|
# schema.
|
|
439
448
|
#
|
|
449
|
+
# Every entry (Blob and Delegate) also carries the advisory read gate set
|
|
450
|
+
# via {.set_derivative_permissions}: `gated` (true if the asset must be
|
|
451
|
+
# authorized rather than fetched directly) and `permission` (the effective
|
|
452
|
+
# read-group set, or `nil` for guests, to whom group names are withheld).
|
|
453
|
+
#
|
|
440
454
|
# @param id [String] the Work ID.
|
|
441
455
|
# @param nuid [String, nil] optional acting user's NUID. On the relay-signing
|
|
442
456
|
# path it is signed into the assertion `sub`; on the BYO-JWT (`ATLAS_JWT`)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: atlas_rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.8.
|
|
4
|
+
version: 1.8.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cliff
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-07-
|
|
11
|
+
date: 2026-07-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|