cocina_display 2.4.0 → 2.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f74e1deeabaf3c4c9535967c1903bc6b393aa365a5ef9d917a977db60538397b
4
- data.tar.gz: 2b56b34bbabd4f7c8d0fe94d668fd1753de48009888c1f18eece1c429dafe3c8
3
+ metadata.gz: f9e69094841d9d3bf349a053a981097bbd7aec72e1365b77cab4bb5d14c7843f
4
+ data.tar.gz: bfedaf11ef46a6495e0e1cce5beb7425495792369d95de0376e323846d7a6a0d
5
5
  SHA512:
6
- metadata.gz: 74c89bf0c7e40e8dcdcf4c60be91002c8e563bd4a5a796e17a255cb739fcdd3088788bc31d5cd62a6b0e1af22a0155fd90ab6db4ffcca1e2302d770dae4ab764
7
- data.tar.gz: 0e47b6097c557bc1c73d360a5fc37d55aa7f58db6173f4f0fb8851c493f2095e9181355c41b984522066a6d7649d97827a707315708239ebf958cdcd4455baee
6
+ metadata.gz: dd14b858b6ab0e7020083a35ea2fa74628cd519792293f3902d029d72f97b75fd03d23fc26b004454d1a1f4d5f2a00f7568db51fc3feeea15a75565a06da94ab
7
+ data.tar.gz: bfa83952bd54719e630b9d166a36d9e9189424a920e9476ff69ff924e5af03c66a5127ee0564eb99ad1a7699193afcf8fc801e1c24d372b2cd19ff3f26be8b50
@@ -20,14 +20,25 @@ module CocinaDisplay
20
20
 
21
21
  # Structured data for all individual files in the object.
22
22
  # Traverses nested FileSet structure to return a flattened array.
23
+ # Optionally filter by filename or MIME type regex, or by role.
24
+ # Filters are combined with AND logic (all must match).
25
+ # @param filename [String, nil] Regular expression to match against filenames.
26
+ # @param mime_type [String, nil] Regular expression to match against MIME types.
27
+ # @param use [String, nil] Usage type to match against (e.g., "thumbnail").
23
28
  # @return [Array<CocinaDisplay::Structural::File>]
24
29
  # @example
25
30
  # record.files.each do |file|
26
31
  # puts file.filename #=> "image1.jpg"
27
32
  # puts file.size #=> 123456
28
33
  # end
29
- def files
30
- filesets.flat_map(&:files)
34
+ # @example Filter to only thumbnail JP2 files
35
+ # record.files(filename: /\.jp2$/, use: "thumbnail")
36
+ def files(filename: nil, mime_type: nil, use: nil)
37
+ results = filesets.flat_map(&:files)
38
+ results.filter! { |file| file.filename =~ filename } if filename
39
+ results.filter! { |file| file.mime_type =~ mime_type } if mime_type
40
+ results.filter! { |file| file.use == use } if use
41
+ results
31
42
  end
32
43
 
33
44
  # All unique MIME types of files in this object.
@@ -2,5 +2,5 @@
2
2
 
3
3
  # :nodoc:
4
4
  module CocinaDisplay
5
- VERSION = "2.4.0" # :nodoc:
5
+ VERSION = "2.6.0" # :nodoc:
6
6
  end
metadata CHANGED
@@ -1,28 +1,34 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocina_display
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Budak
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-04-22 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: janeway-jsonpath
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
16
+ - - ">="
17
17
  - !ruby/object:Gem::Version
18
18
  version: '0.6'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '2'
19
22
  type: :runtime
20
23
  prerelease: false
21
24
  version_requirements: !ruby/object:Gem::Requirement
22
25
  requirements:
23
- - - "~>"
26
+ - - ">="
24
27
  - !ruby/object:Gem::Version
25
28
  version: '0.6'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '2'
26
32
  - !ruby/object:Gem::Dependency
27
33
  name: activesupport
28
34
  requirement: !ruby/object:Gem::Requirement
@@ -313,14 +319,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
313
319
  requirements:
314
320
  - - ">="
315
321
  - !ruby/object:Gem::Version
316
- version: 3.1.0
322
+ version: 3.2.0
317
323
  required_rubygems_version: !ruby/object:Gem::Requirement
318
324
  requirements:
319
325
  - - ">="
320
326
  - !ruby/object:Gem::Version
321
327
  version: '0'
322
328
  requirements: []
323
- rubygems_version: 3.6.2
329
+ rubygems_version: 4.0.7
324
330
  specification_version: 4
325
331
  summary: Helpers for rendering Cocina metadata
326
332
  test_files: []