iiif_print 2.0.0 → 3.0.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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +103 -143
  3. data/app/actors/iiif_print/actors/cleanup_file_sets_actor_decorator.rb +1 -0
  4. data/app/actors/iiif_print/actors/file_set_actor_decorator.rb +1 -0
  5. data/app/helpers/iiif_print/iiif_helper_decorator.rb +1 -0
  6. data/app/indexers/concerns/iiif_print/child_work_indexer_decorator.rb +45 -0
  7. data/app/indexers/concerns/iiif_print/{file_set_indexer.rb → file_set_indexer_decorator.rb} +15 -1
  8. data/app/jobs/iiif_print/jobs/child_works_from_pdf_job.rb +8 -2
  9. data/app/listeners/iiif_print/listener.rb +1 -1
  10. data/app/models/concerns/iiif_print/solr_document_decorator.rb +47 -0
  11. data/app/models/iiif_print/iiif_search_decorator.rb +1 -0
  12. data/app/models/iiif_print/iiif_search_response_decorator.rb +1 -0
  13. data/app/presenters/iiif_print/file_set_presenter_decorator.rb +1 -0
  14. data/app/presenters/iiif_print/{iiif_manifest_presenter_behavior.rb → iiif_manifest_presenter/display_image_presenter_decorator.rb} +4 -32
  15. data/app/presenters/iiif_print/iiif_manifest_presenter_decorator.rb +35 -0
  16. data/app/presenters/iiif_print/{iiif_manifest_presenter_factory_behavior.rb → iiif_manifest_presenter_factory_decorator.rb} +2 -1
  17. data/app/renderers/hyrax/renderers/faceted_attribute_renderer_decorator.rb +1 -0
  18. data/app/services/iiif_print/derivative_rodeo_service.rb +1 -1
  19. data/app/services/iiif_print/{manifest_builder_service_behavior.rb → manifest_builder_service_decorator.rb} +2 -1
  20. data/app/services/iiif_print/simple_schema_loader_decorator.rb +1 -0
  21. data/app/transactions/hyrax/transactions/steps/delete_all_file_sets_decorator.rb +2 -0
  22. data/config/metadata/child_works_from_pdf_splitting.yaml +2 -0
  23. data/lib/iiif_print/base_derivative_service.rb +1 -1
  24. data/lib/iiif_print/blacklight_iiif_search/annotation_decorator.rb +1 -0
  25. data/lib/iiif_print/configuration.rb +1 -1
  26. data/lib/iiif_print/data/fileset_helper.rb +1 -1
  27. data/lib/iiif_print/engine.rb +6 -53
  28. data/lib/iiif_print/persistence_layer/valkyrie_adapter.rb +1 -1
  29. data/lib/iiif_print/text_extraction_derivative_service.rb +4 -1
  30. data/lib/iiif_print/version.rb +1 -1
  31. data/lib/iiif_print/works_controller_behavior_decorator.rb +13 -0
  32. data/lib/iiif_print.rb +0 -2
  33. metadata +11 -11
  34. data/app/indexers/concerns/iiif_print/child_work_indexer.rb +0 -27
  35. data/app/models/concerns/iiif_print/solr/document.rb +0 -63
  36. data/config/initializers/simple_schema_loader.rb +0 -1
  37. data/lib/iiif_print/works_controller_behavior.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4f22906e84ce3a40c02f62c3a6c0d0272b3f267186fd8efcafb635c56b9b789
4
- data.tar.gz: f0cbb7d93bf521ca711148b51c0c51ffc993272589daabc8735949f3dd36908d
3
+ metadata.gz: aa3dd970a2698e24cea1ee94cbc62540f86a817b9cfcc9befa4d2c5b918adc29
4
+ data.tar.gz: 860a39b300ec241df49da8cfd562b78e4b8e9d85556c732ffdb48b3bf63ff253
5
5
  SHA512:
6
- metadata.gz: bd7ce954cce06910bc219df4ae19333b67d4307767fa40d740b419a8c118f843c0cd4d0d9f199eb5623f3577ddae43f96dd3e339ac82829ae0576d0d6a8b9969
7
- data.tar.gz: 83fa85c26ab115d40e161e3f53ad091e6ceb3df3deb1fbc4f0e3752ab868b84c106f53831570b24d232a0c3024471b5154fa27b7ca731b006eea78a77159267f
6
+ metadata.gz: '0940916e73b7d643c7db3d2f407c65efdda23d89b7710984fe2845d687b2899ea995faf945d5c8dc083755f53efca10bde06938927ae2c35e4652a981a963c0c'
7
+ data.tar.gz: ef6ff81415505569c2e546428492c686e31fb5a6ac0b1b85a21f7a82d355f6e772d92a57d7fc057f6ddb54c85f97f429981a1320410cdc1cd193ff6892ba295d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
- remote: /app/samvera/hyrax-webapp
2
+ remote: .
3
3
  specs:
4
- iiif_print (1.0.0)
4
+ iiif_print (3.0.0)
5
5
  blacklight_iiif_search (>= 1.0, < 3.0)
6
6
  derivative-rodeo (~> 0.5)
7
7
  hyrax (>= 2.5, < 6)
@@ -65,7 +65,7 @@ GEM
65
65
  activemodel (= 5.2.8.1)
66
66
  activesupport (= 5.2.8.1)
67
67
  arel (>= 9.0)
68
- activerecord-import (1.5.1)
68
+ activerecord-import (1.7.0)
69
69
  activerecord (>= 4.2)
70
70
  activestorage (5.2.8.1)
71
71
  actionpack (= 5.2.8.1)
@@ -76,8 +76,8 @@ GEM
76
76
  i18n (>= 0.7, < 2)
77
77
  minitest (~> 5.1)
78
78
  tzinfo (~> 1.1)
79
- addressable (2.8.5)
80
- public_suffix (>= 2.0.2, < 6.0)
79
+ addressable (2.8.7)
80
+ public_suffix (>= 2.0.2, < 7.0)
81
81
  almond-rails (0.3.0)
82
82
  rails (>= 4.2)
83
83
  arel (9.0.0)
@@ -87,34 +87,34 @@ GEM
87
87
  awesome_nested_set (3.6.0)
88
88
  activerecord (>= 4.0.0, < 7.2)
89
89
  aws-eventstream (1.3.0)
90
- aws-partitions (1.857.0)
91
- aws-sdk-core (3.188.0)
92
- aws-eventstream (~> 1, >= 1.0.2)
90
+ aws-partitions (1.951.0)
91
+ aws-sdk-core (3.201.0)
92
+ aws-eventstream (~> 1, >= 1.3.0)
93
93
  aws-partitions (~> 1, >= 1.651.0)
94
- aws-sigv4 (~> 1.5)
94
+ aws-sigv4 (~> 1.8)
95
95
  jmespath (~> 1, >= 1.6.1)
96
- aws-sdk-kms (1.73.0)
97
- aws-sdk-core (~> 3, >= 3.188.0)
98
- aws-sigv4 (~> 1.1)
99
- aws-sdk-s3 (1.140.0)
100
- aws-sdk-core (~> 3, >= 3.188.0)
96
+ aws-sdk-kms (1.88.0)
97
+ aws-sdk-core (~> 3, >= 3.201.0)
98
+ aws-sigv4 (~> 1.5)
99
+ aws-sdk-s3 (1.156.0)
100
+ aws-sdk-core (~> 3, >= 3.201.0)
101
101
  aws-sdk-kms (~> 1)
102
- aws-sigv4 (~> 1.6)
103
- aws-sdk-sqs (1.68.0)
104
- aws-sdk-core (~> 3, >= 3.188.0)
105
- aws-sigv4 (~> 1.1)
106
- aws-sigv4 (1.7.0)
102
+ aws-sigv4 (~> 1.5)
103
+ aws-sdk-sqs (1.80.0)
104
+ aws-sdk-core (~> 3, >= 3.201.0)
105
+ aws-sigv4 (~> 1.5)
106
+ aws-sigv4 (1.8.0)
107
107
  aws-eventstream (~> 1, >= 1.0.2)
108
108
  babel-source (5.8.35)
109
109
  babel-transpiler (0.7.0)
110
110
  babel-source (>= 4.0, < 6)
111
111
  execjs (~> 2.0)
112
112
  backport (1.2.0)
113
+ base64 (0.2.0)
113
114
  bcp47 (0.3.3)
114
115
  i18n
115
- bcrypt (3.1.20)
116
116
  benchmark (0.3.0)
117
- bindex (0.8.1)
117
+ bigdecimal (3.1.8)
118
118
  bixby (5.0.2)
119
119
  rubocop (= 1.28.2)
120
120
  rubocop-ast
@@ -158,8 +158,7 @@ GEM
158
158
  ruby-box
159
159
  signet (~> 0.8)
160
160
  typhoeus
161
- builder (3.2.4)
162
- byebug (11.1.3)
161
+ builder (3.3.0)
163
162
  cancancan (1.17.0)
164
163
  carrierwave (1.3.4)
165
164
  activemodel (>= 4.0.0)
@@ -167,14 +166,7 @@ GEM
167
166
  mime-types (>= 1.16)
168
167
  ssrf_filter (~> 1.0, < 1.1.0)
169
168
  clipboard-rails (1.7.1)
170
- coffee-rails (4.2.2)
171
- coffee-script (>= 2.2.0)
172
- railties (>= 4.0.0)
173
- coffee-script (2.4.1)
174
- coffee-script-source
175
- execjs
176
- coffee-script-source (1.12.2)
177
- concurrent-ruby (1.2.2)
169
+ concurrent-ruby (1.3.3)
178
170
  connection_pool (2.4.1)
179
171
  coveralls (0.8.23)
180
172
  json (>= 1.8, < 3)
@@ -183,6 +175,7 @@ GEM
183
175
  thor (>= 0.19.4, < 2.0)
184
176
  tins (~> 1.6)
185
177
  crass (1.0.6)
178
+ csv (3.3.0)
186
179
  database_cleaner (1.99.0)
187
180
  date (3.3.4)
188
181
  declarative (0.0.20)
@@ -191,7 +184,7 @@ GEM
191
184
  declarative-option (0.1.0)
192
185
  deprecation (1.1.0)
193
186
  activesupport
194
- derivative-rodeo (0.5.2)
187
+ derivative-rodeo (0.5.3)
195
188
  activesupport (>= 5)
196
189
  aws-sdk-s3
197
190
  aws-sdk-sqs
@@ -200,15 +193,7 @@ GEM
200
193
  mime-types
201
194
  mini_magick
202
195
  nokogiri
203
- devise (4.9.3)
204
- bcrypt (~> 3.0)
205
- orm_adapter (~> 0.1)
206
- railties (>= 4.1.0)
207
- responders
208
- warden (~> 1.2.3)
209
- devise-guests (0.8.2)
210
- devise
211
- diff-lcs (1.5.0)
196
+ diff-lcs (1.5.1)
212
197
  disposable (0.4.7)
213
198
  declarative (>= 0.0.9, < 1.0.0)
214
199
  declarative-builder (< 0.2.0)
@@ -289,11 +274,11 @@ GEM
289
274
  scanf (~> 1.0)
290
275
  sxp (~> 1.2)
291
276
  unicode-types (~> 1.8)
292
- engine_cart (2.5.0)
277
+ engine_cart (2.6.0)
293
278
  rails (>= 5.0)
294
279
  equivalent-xml (0.6.0)
295
280
  nokogiri (>= 1.4.3)
296
- erubi (1.12.0)
281
+ erubi (1.13.0)
297
282
  ethon (0.16.0)
298
283
  ffi (>= 1.15.0)
299
284
  execjs (2.9.1)
@@ -305,7 +290,7 @@ GEM
305
290
  faraday
306
291
  fcrepo_wrapper (0.9.0)
307
292
  ruby-progressbar
308
- ffi (1.16.3)
293
+ ffi (1.17.0)
309
294
  flipflop (2.7.1)
310
295
  activesupport (>= 4.0)
311
296
  terminal-table (>= 1.8)
@@ -313,10 +298,12 @@ GEM
313
298
  jquery-rails
314
299
  font-awesome-rails (4.7.0.8)
315
300
  railties (>= 3.2, < 8.0)
316
- geocoder (1.8.2)
301
+ geocoder (1.8.3)
302
+ base64 (>= 0.1.0)
303
+ csv (>= 3.0.0)
317
304
  globalid (1.1.0)
318
305
  activesupport (>= 5.0)
319
- google-apis-core (0.11.2)
306
+ google-apis-core (0.11.3)
320
307
  addressable (~> 2.5, >= 2.5.1)
321
308
  googleauth (>= 0.16.2, < 2.a)
322
309
  httpclient (>= 2.8.1, < 3.a)
@@ -324,8 +311,7 @@ GEM
324
311
  representable (~> 3.0)
325
312
  retriable (>= 2.0, < 4.a)
326
313
  rexml
327
- webrick
328
- google-apis-drive_v3 (0.44.0)
314
+ google-apis-drive_v3 (0.46.0)
329
315
  google-apis-core (>= 0.11.0, < 2.a)
330
316
  googleauth (1.8.1)
331
317
  faraday (>= 0.17.3, < 3.a)
@@ -333,7 +319,7 @@ GEM
333
319
  multi_json (~> 1.11)
334
320
  os (>= 0.9, < 2.0)
335
321
  signet (>= 0.16, < 2.a)
336
- haml (6.2.3)
322
+ haml (6.3.0)
337
323
  temple (>= 0.8.2)
338
324
  thor
339
325
  tilt
@@ -341,7 +327,8 @@ GEM
341
327
  hiredis (0.6.3)
342
328
  htmlentities (4.3.4)
343
329
  http_logger (0.7.0)
344
- httparty (0.21.0)
330
+ httparty (0.22.0)
331
+ csv
345
332
  mini_mime (>= 1.0.0)
346
333
  multi_xml (>= 0.5.2)
347
334
  httpclient (2.8.3)
@@ -445,17 +432,17 @@ GEM
445
432
  signet
446
433
  tinymce-rails (~> 5.10)
447
434
  valkyrie (~> 2, >= 2.1.1)
448
- i18n (1.14.1)
435
+ i18n (1.14.5)
449
436
  concurrent-ruby (~> 1.0)
450
437
  ice_nine (0.11.2)
451
438
  iiif-presentation (1.1.0)
452
439
  activesupport (>= 3.2.18)
453
440
  faraday (>= 0.9)
454
441
  json
455
- iiif_manifest (1.3.1)
442
+ iiif_manifest (1.5.0)
456
443
  activesupport (>= 4)
457
- jaro_winkler (1.5.6)
458
- jbuilder (2.11.5)
444
+ jaro_winkler (1.6.0)
445
+ jbuilder (2.12.0)
459
446
  actionview (>= 5.0.0)
460
447
  activesupport (>= 5.0.0)
461
448
  jmespath (1.6.2)
@@ -470,7 +457,7 @@ GEM
470
457
  thor (>= 0.14, < 2.0)
471
458
  jquery-ui-rails (6.0.1)
472
459
  railties (>= 3.2.16)
473
- json (2.6.3)
460
+ json (2.7.2)
474
461
  json-canonicalization (0.3.1)
475
462
  json-ld (3.1.10)
476
463
  htmlentities (~> 4.3)
@@ -482,9 +469,10 @@ GEM
482
469
  json-ld-preloaded (3.1.6)
483
470
  json-ld (~> 3.1)
484
471
  rdf (~> 3.1)
485
- json-schema (4.1.1)
472
+ json-schema (4.3.0)
486
473
  addressable (>= 2.8)
487
- jwt (2.7.1)
474
+ jwt (2.8.2)
475
+ base64
488
476
  kaminari (1.2.2)
489
477
  activesupport (>= 4.1.0)
490
478
  kaminari-actionview (= 1.2.2)
@@ -566,40 +554,42 @@ GEM
566
554
  mailboxer (0.15.1)
567
555
  carrierwave (>= 0.5.8)
568
556
  rails (>= 5.0.0)
569
- marcel (1.0.2)
557
+ marcel (1.0.4)
570
558
  matrix (0.4.2)
571
- method_source (1.0.0)
572
- mime-types (3.5.1)
559
+ method_source (1.1.0)
560
+ mime-types (3.5.2)
573
561
  mime-types-data (~> 3.2015)
574
- mime-types-data (3.2023.1003)
575
- mini_magick (4.12.0)
562
+ mime-types-data (3.2024.0702)
563
+ mini_magick (4.13.1)
576
564
  mini_mime (1.1.5)
577
- mini_portile2 (2.8.5)
578
- minitest (5.20.0)
565
+ mini_portile2 (2.8.7)
566
+ minitest (5.24.1)
567
+ mize (0.4.1)
568
+ protocol (~> 2.0)
579
569
  multi_json (1.15.0)
580
570
  multi_xml (0.6.0)
581
- multipart-post (2.3.0)
571
+ multipart-post (2.4.1)
582
572
  nest (3.2.0)
583
573
  redic
584
574
  net-http-persistent (4.0.2)
585
575
  connection_pool (~> 2.2)
586
- net-imap (0.4.6)
576
+ net-imap (0.4.14)
587
577
  date
588
578
  net-protocol
589
579
  net-pop (0.1.2)
590
580
  net-protocol
591
581
  net-protocol (0.2.2)
592
582
  timeout
593
- net-smtp (0.4.0)
583
+ net-smtp (0.5.0)
594
584
  net-protocol
595
585
  newspaper_works_fixtures (0.3.1)
596
586
  rails (~> 5.0)
597
- nio4r (2.6.1)
587
+ nio4r (2.7.3)
598
588
  noid (0.9.0)
599
589
  noid-rails (3.0.3)
600
590
  actionpack (>= 5.0.0, < 7)
601
591
  noid (~> 0.9)
602
- nokogiri (1.15.5)
592
+ nokogiri (1.15.6)
603
593
  mini_portile2 (~> 2.8.2)
604
594
  racc (~> 1.4)
605
595
  oauth (1.1.0)
@@ -616,18 +606,18 @@ GEM
616
606
  rack (>= 1.2, < 4)
617
607
  openseadragon (0.6.0)
618
608
  rails (> 3.2.0)
619
- orm_adapter (0.5.0)
620
609
  os (1.1.4)
621
- parallel (1.23.0)
622
- parser (3.2.2.4)
610
+ parallel (1.25.1)
611
+ parser (3.3.3.0)
623
612
  ast (~> 2.4.1)
624
613
  racc
625
614
  parslet (2.0.0)
626
615
  posix-spawn (0.3.15)
627
616
  power_converter (0.1.2)
617
+ protocol (2.0.0)
618
+ ruby_parser (~> 3.0)
628
619
  psych (3.3.4)
629
- public_suffix (5.0.4)
630
- puma (3.12.6)
620
+ public_suffix (5.1.1)
631
621
  qa (5.11.0)
632
622
  activerecord-import
633
623
  deprecation
@@ -637,8 +627,8 @@ GEM
637
627
  nokogiri (~> 1.6)
638
628
  rails (>= 5.0, < 7.2)
639
629
  rdf
640
- racc (1.7.3)
641
- rack (2.2.8)
630
+ racc (1.8.0)
631
+ rack (2.2.9)
642
632
  rack-test (2.1.0)
643
633
  rack (>= 1.3)
644
634
  rails (5.2.8.1)
@@ -676,9 +666,9 @@ GEM
676
666
  rake (>= 0.8.7)
677
667
  thor (>= 0.19.0, < 2.0)
678
668
  rainbow (3.1.1)
679
- rake (13.1.0)
669
+ rake (13.2.1)
680
670
  rb-fsevent (0.11.2)
681
- rb-inotify (0.10.1)
671
+ rb-inotify (0.11.1)
682
672
  ffi (~> 1.0)
683
673
  rdf (3.2.11)
684
674
  link_header (~> 0.0, >= 0.0.8)
@@ -754,35 +744,33 @@ GEM
754
744
  reform-rails (0.2.6)
755
745
  activemodel (>= 5.0)
756
746
  reform (>= 2.3.1, < 3.0.0)
757
- regexp_parser (2.8.2)
747
+ regexp_parser (2.9.2)
758
748
  representable (3.0.4)
759
749
  declarative (< 0.1.0)
760
750
  declarative-option (< 0.2.0)
761
751
  uber (< 0.2.0)
762
- request_store (1.5.1)
752
+ request_store (1.7.0)
763
753
  rack (>= 1.4)
764
- responders (3.1.1)
765
- actionpack (>= 5.2)
766
- railties (>= 5.2)
767
754
  retriable (3.1.2)
768
755
  reverse_markdown (2.1.1)
769
756
  nokogiri
770
- rexml (3.2.6)
771
- rsolr (2.5.0)
757
+ rexml (3.3.1)
758
+ strscan
759
+ rsolr (2.6.0)
772
760
  builder (>= 2.1.2)
773
761
  faraday (>= 0.9, < 3, != 2.0.0)
774
- rspec-activemodel-mocks (1.1.0)
762
+ rspec-activemodel-mocks (1.2.0)
775
763
  activemodel (>= 3.0)
776
764
  activesupport (>= 3.0)
777
765
  rspec-mocks (>= 2.99, < 4.0)
778
- rspec-core (3.12.2)
779
- rspec-support (~> 3.12.0)
780
- rspec-expectations (3.12.3)
766
+ rspec-core (3.13.0)
767
+ rspec-support (~> 3.13.0)
768
+ rspec-expectations (3.13.1)
781
769
  diff-lcs (>= 1.2.0, < 2.0)
782
- rspec-support (~> 3.12.0)
783
- rspec-mocks (3.12.6)
770
+ rspec-support (~> 3.13.0)
771
+ rspec-mocks (3.13.1)
784
772
  diff-lcs (>= 1.2.0, < 2.0)
785
- rspec-support (~> 3.12.0)
773
+ rspec-support (~> 3.13.0)
786
774
  rspec-rails (5.1.2)
787
775
  actionpack (>= 5.2)
788
776
  activesupport (>= 5.2)
@@ -791,7 +779,7 @@ GEM
791
779
  rspec-expectations (~> 3.10)
792
780
  rspec-mocks (~> 3.10)
793
781
  rspec-support (~> 3.10)
794
- rspec-support (3.12.1)
782
+ rspec-support (3.13.1)
795
783
  rubocop (1.28.2)
796
784
  parallel (~> 1.10)
797
785
  parser (>= 3.1.0.0)
@@ -801,8 +789,8 @@ GEM
801
789
  rubocop-ast (>= 1.17.0, < 2.0)
802
790
  ruby-progressbar (~> 1.7)
803
791
  unicode-display_width (>= 1.4.0, < 3.0)
804
- rubocop-ast (1.30.0)
805
- parser (>= 3.2.1.0)
792
+ rubocop-ast (1.31.3)
793
+ parser (>= 3.3.1.0)
806
794
  rubocop-performance (1.19.1)
807
795
  rubocop (>= 1.7.0, < 2.0)
808
796
  rubocop-ast (>= 0.4.0)
@@ -819,6 +807,9 @@ GEM
819
807
  oauth2
820
808
  ruby-progressbar (1.13.0)
821
809
  ruby2_keywords (0.0.5)
810
+ ruby_parser (3.21.0)
811
+ racc (~> 1.5)
812
+ sexp_processor (~> 4.16)
822
813
  rubyzip (2.3.2)
823
814
  samvera-nesting_indexer (2.0.0)
824
815
  dry-equalizer
@@ -837,6 +828,7 @@ GEM
837
828
  ffi (~> 1.9)
838
829
  scanf (1.0.0)
839
830
  select2-rails (3.5.11)
831
+ sexp_processor (4.17.1)
840
832
  shacl (0.1.1)
841
833
  json-ld (~> 3.1, >= 3.1.7)
842
834
  rdf (~> 3.1, >= 3.1.8)
@@ -853,12 +845,12 @@ GEM
853
845
  sxp (~> 1.1)
854
846
  shoulda-matchers (3.1.3)
855
847
  activesupport (>= 4.0.0)
856
- signet (0.18.0)
848
+ signet (0.19.0)
857
849
  addressable (~> 2.8)
858
850
  faraday (>= 0.17.5, < 3.a)
859
851
  jwt (>= 1.5, < 3.0)
860
852
  multi_json (~> 1.10)
861
- simple_form (5.3.0)
853
+ simple_form (5.3.1)
862
854
  actionpack (>= 5.2)
863
855
  activemodel (>= 5.2)
864
856
  simplecov (0.16.1)
@@ -902,7 +894,8 @@ GEM
902
894
  sparql-client (3.2.2)
903
895
  net-http-persistent (~> 4.0, >= 4.0.2)
904
896
  rdf (~> 3.2, >= 3.2.11)
905
- sprockets (3.7.2)
897
+ sprockets (3.7.3)
898
+ base64
906
899
  concurrent-ruby (~> 1.0)
907
900
  rack (> 1, < 3)
908
901
  sprockets-es6 (0.9.2)
@@ -913,29 +906,27 @@ GEM
913
906
  actionpack (>= 5.2)
914
907
  activesupport (>= 5.2)
915
908
  sprockets (>= 3.0.0)
916
- sqlite3 (1.7.2)
917
- mini_portile2 (~> 2.8.0)
918
909
  ssrf_filter (1.0.8)
910
+ strscan (3.1.0)
919
911
  sxp (1.2.4)
920
912
  matrix (~> 0.4)
921
913
  rdf (~> 3.2)
922
914
  sync (0.5.0)
923
915
  temple (0.10.3)
924
- term-ansicolor (1.7.1)
916
+ term-ansicolor (1.10.2)
917
+ mize
925
918
  tins (~> 1.0)
926
919
  terminal-table (3.0.2)
927
920
  unicode-display_width (>= 1.1.1, < 3)
928
- thor (1.3.0)
921
+ thor (1.3.1)
929
922
  thread_safe (0.3.6)
930
- tilt (2.3.0)
923
+ tilt (2.4.0)
931
924
  timeout (0.4.1)
932
- tins (1.32.1)
925
+ tins (1.33.0)
926
+ bigdecimal
933
927
  sync
934
928
  tinymce-rails (5.10.9)
935
929
  railties (>= 3.1.1)
936
- turbolinks (5.2.1)
937
- turbolinks-source (~> 5.2)
938
- turbolinks-source (5.2.0)
939
930
  twitter-typeahead-rails (0.11.1.pre.corejavascript)
940
931
  actionpack (>= 3.1)
941
932
  jquery-rails
@@ -945,8 +936,6 @@ GEM
945
936
  tzinfo (1.2.11)
946
937
  thread_safe (~> 0.1)
947
938
  uber (0.1.0)
948
- uglifier (4.2.0)
949
- execjs (>= 0.3.0, < 3)
950
939
  unicode-display_width (2.5.0)
951
940
  unicode-types (1.9.0)
952
941
  valkyrie (2.2.0)
@@ -964,62 +953,33 @@ GEM
964
953
  rdf-vocab
965
954
  reform (~> 2.2)
966
955
  reform-rails
967
- version_gem (1.1.3)
968
- warden (1.2.9)
969
- rack (>= 2.0.9)
970
- web-console (3.7.0)
971
- actionview (>= 5.0)
972
- activemodel (>= 5.0)
973
- bindex (>= 0.4.0)
974
- railties (>= 5.0)
975
- webrick (1.8.1)
956
+ version_gem (1.1.4)
976
957
  websocket-driver (0.7.6)
977
958
  websocket-extensions (>= 0.1.0)
978
959
  websocket-extensions (0.1.5)
979
- yard (0.9.34)
980
- zeitwerk (2.6.12)
960
+ yard (0.9.36)
961
+ zeitwerk (2.6.16)
981
962
 
982
963
  PLATFORMS
983
964
  ruby
984
965
 
985
966
  DEPENDENCIES
986
967
  bixby
987
- bootstrap-sass (~> 3.0)
988
- byebug
989
- coffee-rails (~> 4.2)
990
968
  coveralls
991
969
  database_cleaner (~> 1.3)
992
- devise
993
- devise-guests (~> 0.6)
994
970
  engine_cart (~> 2.2)
995
971
  factory_bot (~> 4.4)
996
- fcrepo_wrapper
972
+ fcrepo_wrapper (~> 0.5, >= 0.5.1)
997
973
  iiif_print!
998
- jbuilder (~> 2.5)
999
- jquery-rails
1000
974
  json-canonicalization (= 0.3.1)
1001
975
  newspaper_works_fixtures (~> 0.3, >= 0.3.1)
1002
- puma (~> 3.11)
1003
- rails (~> 5.2.8, >= 5.2.8.1)
1004
976
  rails-controller-testing (~> 1)
1005
- redis (= 4.8.1)
1006
- rsolr (>= 1.0, < 3)
1007
977
  rspec-activemodel-mocks
1008
978
  rspec-rails
1009
- sass-rails (~> 5.0)
1010
979
  shoulda-matchers (~> 3.1)
1011
980
  solargraph
1012
- solr_wrapper (>= 0.3)
1013
- sqlite3
1014
- turbolinks (~> 5)
1015
- twitter-typeahead-rails (= 0.11.1.pre.corejavascript)
1016
- tzinfo-data
1017
- uglifier (>= 1.3.0)
1018
- web-console (>= 3.3.0)
981
+ solr_wrapper (>= 1.1, < 3.0)
1019
982
  yard
1020
983
 
1021
- RUBY VERSION
1022
- ruby 2.7.6p219
1023
-
1024
984
  BUNDLED WITH
1025
985
  2.3.20
@@ -22,3 +22,4 @@ module IiifPrint
22
22
  end
23
23
  end
24
24
  end
25
+ Hyrax::Actors::CleanupFileSetsActor.prepend(IiifPrint::Actors::CleanupFileSetsActorDecorator)
@@ -56,3 +56,4 @@ module IiifPrint
56
56
  end
57
57
  end
58
58
  end
59
+ Hyrax::Actors::FileSetActor.prepend(IiifPrint::Actors::FileSetActorDecorator)
@@ -30,3 +30,4 @@ module IiifPrint
30
30
  end
31
31
  end
32
32
  end
33
+ Hyrax::IiifHelper.prepend(IiifPrint::IiifHelperDecorator)
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module IiifPrint
4
+ module ChildWorkIndexerDecorator
5
+ def to_solr
6
+ super.tap do |index_document|
7
+ index_solr_doc(index_document)
8
+ end
9
+ end
10
+
11
+ def generate_solr_document
12
+ super.tap do |solr_doc|
13
+ index_solr_doc(solr_doc)
14
+ end
15
+ end
16
+
17
+ private
18
+
19
+ def index_solr_doc(solr_doc)
20
+ object ||= @object || resource
21
+ solr_doc['is_child_bsi'] ||= object.try(:is_child)
22
+ solr_doc['split_from_pdf_id_ssi'] ||= object.try(:split_from_pdf_id)
23
+ solr_doc['is_page_of_ssim'] = iiif_print_lineage_service.ancestor_ids_for(object)
24
+ solr_doc['member_ids_ssim'] = iiif_print_lineage_service.descendent_member_ids_for(object)
25
+ end
26
+ end
27
+ end
28
+
29
+ if ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_VALKYRIE', false))
30
+ # Newer versions of Hyrax favor `Hyrax::Indexers::PcdmObjectIndexer` and deprecate
31
+ # `Hyrax::ValkyrieWorkIndexer`
32
+ indexers = Hyrax.config.curation_concerns.map do |concern|
33
+ "#{concern}ResourceIndexer".safe_constantize
34
+ end
35
+ indexers.each { |indexer| indexer.prepend(IiifPrint::ChildWorkIndexerDecorator) }
36
+
37
+ # Versions 3.0+ of Hyrax have `Hyrax::ValkyrieWorkIndexer` so we want to decorate that as
38
+ # well. We want to use the elsif construct because later on Hyrax::ValkyrieWorkIndexer
39
+ # inherits from Hyrax::Indexers::PcdmObjectIndexer and only implements:
40
+ # `def initialize(*args); super; end`
41
+ 'Hyrax::ValkyrieWorkIndexer'.safe_constantize&.prepend(IiifPrint::ChildWorkIndexerDecorator)
42
+ else
43
+ # The ActiveFedora::Base indexer for Works
44
+ Hyrax::WorkIndexer.prepend(IiifPrint::ChildWorkIndexerDecorator)
45
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IiifPrint
4
- module FileSetIndexer
4
+ module FileSetIndexerDecorator
5
5
  def to_solr
6
6
  super.tap do |index_document|
7
7
  index_solr_doc(index_document)
@@ -55,3 +55,17 @@ module IiifPrint
55
55
  end
56
56
  end
57
57
  end
58
+ if ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_VALKYRIE', false))
59
+ # Newer versions of Hyrax favor `Hyrax::Indexers::FileSetIndexer` and deprecate
60
+ # `Hyrax::ValkyrieFileSetIndexer`.
61
+ 'Hyrax::Indexers::FileSetIndexer'.safe_constantize&.prepend(IiifPrint::FileSetIndexerDecorator)
62
+
63
+ # Versions 3.0+ of Hyrax have `Hyrax::ValkyrieFileSetIndexer` so we want to decorate that as
64
+ # well. We want to use the elsif construct because later on Hyrax::ValkyrieFileSetIndexer
65
+ # inherits from Hyrax::Indexers::FileSetIndexer and only implements:
66
+ # `def initialize(*args); super; end`
67
+ 'Hyrax::ValkyrieFileSetIndexer'.safe_constantize&.prepend(IiifPrint::FileSetIndexerDecorator)
68
+ else
69
+ # The ActiveFedora::Base indexer for FileSets
70
+ Hyrax::FileSetIndexer.prepend(IiifPrint::FileSetIndexerDecorator)
71
+ end