hyrax 2.8.0 → 2.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +8 -8
  3. data/.gitignore +1 -0
  4. data/.regen +1 -1
  5. data/README.md +1 -1
  6. data/app/assets/javascripts/hyrax.js +1 -0
  7. data/app/assets/javascripts/hyrax/autocomplete.es6 +29 -0
  8. data/app/assets/javascripts/hyrax/editor.es6 +9 -10
  9. data/app/assets/javascripts/hyrax/skip_to_content.js +15 -0
  10. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +18 -7
  11. data/app/controllers/hyrax/file_sets_controller.rb +6 -1
  12. data/app/controllers/hyrax/users_controller.rb +1 -1
  13. data/app/helpers/hyrax/hyrax_helper_behavior.rb +1 -0
  14. data/app/helpers/hyrax/work_form_helper.rb +48 -0
  15. data/app/jobs/embargo_expiry_job.rb +15 -0
  16. data/app/jobs/iiif_manifest_cache_prewarm_job.rb +16 -0
  17. data/app/jobs/lease_expiry_job.rb +15 -0
  18. data/app/models/concerns/hyrax/ability.rb +1 -1
  19. data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
  20. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  21. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +46 -0
  22. data/app/models/concerns/hyrax/solr_document_behavior.rb +10 -0
  23. data/app/presenters/hyrax/displays_image.rb +25 -21
  24. data/app/presenters/hyrax/iiif_manifest_presenter.rb +232 -0
  25. data/app/presenters/hyrax/member_presenter_factory.rb +1 -7
  26. data/app/services/hyrax/caching_iiif_manifest_builder.rb +53 -0
  27. data/app/services/hyrax/collection_types/permissions_service.rb +3 -3
  28. data/app/services/hyrax/collections/permissions_service.rb +1 -1
  29. data/app/services/hyrax/contextual_path.rb +1 -1
  30. data/app/services/hyrax/identifier/builder.rb +45 -0
  31. data/app/services/hyrax/identifier/dispatcher.rb +61 -0
  32. data/app/services/hyrax/identifier/registrar.rb +41 -0
  33. data/app/services/hyrax/manifest_builder_service.rb +88 -0
  34. data/app/services/hyrax/versioning_service.rb +9 -0
  35. data/app/views/hyrax/base/_form.html.erb +1 -1
  36. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
  37. data/app/views/hyrax/base/_form_progress.html.erb +4 -0
  38. data/app/views/hyrax/base/_form_visibility_error.html.erb +2 -0
  39. data/app/views/hyrax/base/_guts4form.html.erb +7 -1
  40. data/app/views/hyrax/base/_show_actions.html.erb +1 -1
  41. data/app/views/hyrax/batch_uploads/_form.html.erb +2 -2
  42. data/app/views/hyrax/dashboard/_sidebar.html.erb +1 -1
  43. data/config/features.rb +4 -0
  44. data/hyrax.gemspec +3 -2
  45. data/lib/generators/hyrax/templates/catalog_controller.rb +4 -0
  46. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +5 -0
  47. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
  48. data/lib/hyrax.rb +1 -0
  49. data/lib/hyrax/configuration.rb +23 -4
  50. data/lib/hyrax/engine.rb +1 -0
  51. data/lib/hyrax/specs/shared_specs.rb +1 -0
  52. data/lib/hyrax/specs/shared_specs/identifiers.rb +27 -0
  53. data/lib/hyrax/version.rb +1 -1
  54. data/template.rb +1 -1
  55. metadata +47 -8
data/lib/hyrax/engine.rb CHANGED
@@ -5,6 +5,7 @@ module Hyrax
5
5
  # These gems must be required outside of an initializer or they don't get loaded.
6
6
  require 'awesome_nested_set'
7
7
  require 'breadcrumbs_on_rails'
8
+ require 'draper'
8
9
  require 'jquery-ui-rails'
9
10
  require 'flot-rails'
10
11
  require 'almond-rails'
@@ -1,2 +1,3 @@
1
1
  require 'hyrax/specs/shared_specs/derivative_service'
2
+ require 'hyrax/specs/shared_specs/identifiers'
2
3
  require 'hyrax/specs/shared_specs/workflow_method'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a Hyrax::Identifier::Builder' do
4
+ subject(:builder) { described_class.new }
5
+
6
+ describe '#build' do
7
+ it 'returns an identifier string' do
8
+ expect(builder.build(hint: 'moomin'))
9
+ .to respond_to :to_str
10
+ end
11
+ end
12
+ end
13
+
14
+ RSpec.shared_examples 'a Hyrax::Identifier::Registrar' do
15
+ subject(:registrar) { described_class.new(builder: builder) }
16
+ let(:builder) { instance_double(Hyrax::Identifier::Builder, build: 'moomin') }
17
+ let(:object) { instance_double(GenericWork, id: 'moomin_id') }
18
+
19
+ it { is_expected.to have_attributes(builder: builder) }
20
+
21
+ describe '#register!' do
22
+ it 'creates an identifier record' do
23
+ expect(registrar.register!(object: object).identifier)
24
+ .to respond_to :to_str
25
+ end
26
+ end
27
+ end
data/lib/hyrax/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hyrax
2
- VERSION = '2.8.0'.freeze
2
+ VERSION = '2.9.5'.freeze
3
3
  end
data/template.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Hack for https://github.com/rails/rails/issues/35153
2
2
  gsub_file 'Gemfile', /^gem ["']sqlite3["']$/, 'gem "sqlite3", "~> 1.3.0"'
3
- gem 'hyrax', '2.6.0'
3
+ gem 'hyrax', '2.9.5'
4
4
  run 'bundle install'
5
5
  generate 'hyrax:install', '-f'
6
6
  rails_command 'db:migrate'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -11,10 +11,10 @@ authors:
11
11
  - Jeremy Friesen
12
12
  - Trey Pendragon
13
13
  - Esmé Cowles
14
- autorequire:
14
+ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-06-26 00:00:00.000000000 Z
17
+ date: 2021-05-07 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -162,6 +162,20 @@ dependencies:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
164
  version: '1.5'
165
+ - !ruby/object:Gem::Dependency
166
+ name: draper
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '4.0'
172
+ type: :runtime
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '4.0'
165
179
  - !ruby/object:Gem::Dependency
166
180
  name: dry-equalizer
167
181
  requirement: !ruby/object:Gem::Requirement
@@ -313,6 +327,9 @@ dependencies:
313
327
  - - ">="
314
328
  - !ruby/object:Gem::Version
315
329
  version: 10.6.1
330
+ - - "<"
331
+ - !ruby/object:Gem::Version
332
+ version: '12'
316
333
  type: :runtime
317
334
  prerelease: false
318
335
  version_requirements: !ruby/object:Gem::Requirement
@@ -320,6 +337,9 @@ dependencies:
320
337
  - - ">="
321
338
  - !ruby/object:Gem::Version
322
339
  version: 10.6.1
340
+ - - "<"
341
+ - !ruby/object:Gem::Version
342
+ version: '12'
323
343
  - !ruby/object:Gem::Dependency
324
344
  name: hydra-works
325
345
  requirement: !ruby/object:Gem::Requirement
@@ -566,16 +586,22 @@ dependencies:
566
586
  name: qa
567
587
  requirement: !ruby/object:Gem::Requirement
568
588
  requirements:
569
- - - "~>"
589
+ - - ">="
570
590
  - !ruby/object:Gem::Version
571
591
  version: '2.0'
592
+ - - "<"
593
+ - !ruby/object:Gem::Version
594
+ version: '6.0'
572
595
  type: :runtime
573
596
  prerelease: false
574
597
  version_requirements: !ruby/object:Gem::Requirement
575
598
  requirements:
576
- - - "~>"
599
+ - - ">="
577
600
  - !ruby/object:Gem::Version
578
601
  version: '2.0'
602
+ - - "<"
603
+ - !ruby/object:Gem::Version
604
+ version: '6.0'
579
605
  - !ruby/object:Gem::Dependency
580
606
  name: rails_autolink
581
607
  requirement: !ruby/object:Gem::Requirement
@@ -1273,6 +1299,7 @@ files:
1273
1299
  - app/assets/javascripts/hyrax/select_submit.js
1274
1300
  - app/assets/javascripts/hyrax/select_work_type.es6
1275
1301
  - app/assets/javascripts/hyrax/single_use_links_manager.js
1302
+ - app/assets/javascripts/hyrax/skip_to_content.js
1276
1303
  - app/assets/javascripts/hyrax/sort_and_per_page.es6
1277
1304
  - app/assets/javascripts/hyrax/sorting.js
1278
1305
  - app/assets/javascripts/hyrax/tabbed_form.es6
@@ -1460,6 +1487,7 @@ files:
1460
1487
  - app/helpers/hyrax/title_helper.rb
1461
1488
  - app/helpers/hyrax/trophy_helper.rb
1462
1489
  - app/helpers/hyrax/url_helper.rb
1490
+ - app/helpers/hyrax/work_form_helper.rb
1463
1491
  - app/indexers/concerns/hyrax/indexes_basic_metadata.rb
1464
1492
  - app/indexers/concerns/hyrax/indexes_linked_metadata.rb
1465
1493
  - app/indexers/hyrax/admin_set_indexer.rb
@@ -1487,6 +1515,7 @@ files:
1487
1515
  - app/jobs/content_update_event_job.rb
1488
1516
  - app/jobs/create_derivatives_job.rb
1489
1517
  - app/jobs/create_work_job.rb
1518
+ - app/jobs/embargo_expiry_job.rb
1490
1519
  - app/jobs/event_job.rb
1491
1520
  - app/jobs/file_set_attached_event_job.rb
1492
1521
  - app/jobs/fixity_check_job.rb
@@ -1497,11 +1526,13 @@ files:
1497
1526
  - app/jobs/hyrax/grant_read_to_members_job.rb
1498
1527
  - app/jobs/hyrax/revoke_edit_from_members_job.rb
1499
1528
  - app/jobs/hyrax/revoke_edit_job.rb
1529
+ - app/jobs/iiif_manifest_cache_prewarm_job.rb
1500
1530
  - app/jobs/import_export_job.rb
1501
1531
  - app/jobs/import_url_job.rb
1502
1532
  - app/jobs/ingest_job.rb
1503
1533
  - app/jobs/ingest_local_file_job.rb
1504
1534
  - app/jobs/inherit_permissions_job.rb
1535
+ - app/jobs/lease_expiry_job.rb
1505
1536
  - app/jobs/resolrize_job.rb
1506
1537
  - app/jobs/stream_notifications_job.rb
1507
1538
  - app/jobs/user_edit_profile_event_job.rb
@@ -1541,6 +1572,7 @@ files:
1541
1572
  - app/models/concerns/hyrax/solr_document/characterization.rb
1542
1573
  - app/models/concerns/hyrax/solr_document/export.rb
1543
1574
  - app/models/concerns/hyrax/solr_document/metadata.rb
1575
+ - app/models/concerns/hyrax/solr_document/ordered_members.rb
1544
1576
  - app/models/concerns/hyrax/solr_document_behavior.rb
1545
1577
  - app/models/concerns/hyrax/suppressible.rb
1546
1578
  - app/models/concerns/hyrax/user.rb
@@ -1619,6 +1651,7 @@ files:
1619
1651
  - app/presenters/hyrax/file_usage.rb
1620
1652
  - app/presenters/hyrax/fixity_status_presenter.rb
1621
1653
  - app/presenters/hyrax/homepage_presenter.rb
1654
+ - app/presenters/hyrax/iiif_manifest_presenter.rb
1622
1655
  - app/presenters/hyrax/inspect_work_presenter.rb
1623
1656
  - app/presenters/hyrax/lease_presenter.rb
1624
1657
  - app/presenters/hyrax/member_presenter_factory.rb
@@ -1705,6 +1738,7 @@ files:
1705
1738
  - app/services/hyrax/analytics.rb
1706
1739
  - app/services/hyrax/batch_create_failure_service.rb
1707
1740
  - app/services/hyrax/batch_create_success_service.rb
1741
+ - app/services/hyrax/caching_iiif_manifest_builder.rb
1708
1742
  - app/services/hyrax/change_content_depositor_service.rb
1709
1743
  - app/services/hyrax/collection_member_service.rb
1710
1744
  - app/services/hyrax/collection_size_service.rb
@@ -1733,6 +1767,9 @@ files:
1733
1767
  - app/services/hyrax/fixity_check_failure_service.rb
1734
1768
  - app/services/hyrax/form_metadata_service.rb
1735
1769
  - app/services/hyrax/graph_exporter.rb
1770
+ - app/services/hyrax/identifier/builder.rb
1771
+ - app/services/hyrax/identifier/dispatcher.rb
1772
+ - app/services/hyrax/identifier/registrar.rb
1736
1773
  - app/services/hyrax/iiif_authorization_service.rb
1737
1774
  - app/services/hyrax/import_url_failure_service.rb
1738
1775
  - app/services/hyrax/indexes_thumbnails.rb
@@ -1743,6 +1780,7 @@ files:
1743
1780
  - app/services/hyrax/local_file_service.rb
1744
1781
  - app/services/hyrax/lock_manager.rb
1745
1782
  - app/services/hyrax/lockable.rb
1783
+ - app/services/hyrax/manifest_builder_service.rb
1746
1784
  - app/services/hyrax/messenger_service.rb
1747
1785
  - app/services/hyrax/microdata.rb
1748
1786
  - app/services/hyrax/multiple_membership_checker.rb
@@ -2371,6 +2409,7 @@ files:
2371
2409
  - lib/hyrax/search_state.rb
2372
2410
  - lib/hyrax/specs/shared_specs.rb
2373
2411
  - lib/hyrax/specs/shared_specs/derivative_service.rb
2412
+ - lib/hyrax/specs/shared_specs/identifiers.rb
2374
2413
  - lib/hyrax/specs/shared_specs/workflow_method.rb
2375
2414
  - lib/hyrax/transactions.rb
2376
2415
  - lib/hyrax/transactions/container.rb
@@ -2419,7 +2458,7 @@ homepage: http://github.com/samvera/hyrax
2419
2458
  licenses:
2420
2459
  - Apache-2.0
2421
2460
  metadata: {}
2422
- post_install_message:
2461
+ post_install_message:
2423
2462
  rdoc_options: []
2424
2463
  require_paths:
2425
2464
  - lib
@@ -2434,8 +2473,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2434
2473
  - !ruby/object:Gem::Version
2435
2474
  version: '0'
2436
2475
  requirements: []
2437
- rubygems_version: 3.0.3
2438
- signing_key:
2476
+ rubygems_version: 3.1.6
2477
+ signing_key:
2439
2478
  specification_version: 4
2440
2479
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
2441
2480
  interface for common repository features. Hyrax offers the ability to create repository