hyrax 4.0.0.rc1 → 4.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +61 -0
- data/.dassie/Gemfile +1 -1
- data/.github/CONTRIBUTING.md +39 -27
- data/.regen +1 -1
- data/CONTAINERS.md +4 -4
- data/Dockerfile +1 -1
- data/app/actors/hyrax/actors/create_with_files_actor.rb +1 -1
- data/app/controllers/concerns/hyrax/controller.rb +2 -1
- data/app/controllers/hyrax/admin/strategies_controller.rb +2 -2
- data/app/forms/hyrax/forms/administrative_set_form.rb +1 -1
- data/app/forms/hyrax/forms/pcdm_collection_form.rb +2 -2
- data/app/forms/hyrax/forms/pcdm_object_form.rb +1 -1
- data/app/forms/hyrax/forms/permission.rb +2 -2
- data/app/forms/hyrax/forms/resource_form.rb +10 -10
- data/app/forms/hyrax/forms/work_embargo_form.rb +3 -3
- data/app/forms/hyrax/forms/work_lease_form.rb +3 -3
- data/app/helpers/hyrax/content_block_helper_behavior.rb +1 -1
- data/app/helpers/hyrax/iiif_helper.rb +1 -1
- data/app/models/collection_branding_info.rb +7 -13
- data/app/models/hyrax/permission_template.rb +1 -1
- data/app/presenters/hyrax/iiif_manifest_presenter.rb +1 -1
- data/app/presenters/hyrax/presenter_factory.rb +2 -2
- data/app/services/hyrax/solr_service.rb +2 -2
- data/app/services/hyrax/visibility_reader.rb +1 -1
- data/app/services/hyrax/visibility_writer.rb +1 -1
- data/app/services/hyrax/workflow/permission_query.rb +5 -5
- data/app/validators/hyrax/collection_membership_validator.rb +2 -2
- data/config/initializers/kaminari_engine_patch.rb +16 -0
- data/documentation/legacyREADME.md +3 -3
- data/hyrax.gemspec +3 -6
- data/lib/hyrax/configuration.rb +11 -0
- data/lib/hyrax/controlled_vocabularies/resource_label_caching.rb +1 -1
- data/lib/hyrax/engine.rb +2 -0
- data/lib/hyrax/transactions/transaction.rb +3 -2
- data/lib/hyrax/version.rb +1 -1
- data/lib/hyrax.rb +0 -1
- data/lib/wings/valkyrie/storage.rb +4 -1
- data/template.rb +1 -1
- metadata +10 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24e7e9d00de4eebd2f2dfaf96bcd1a09ac9589b17e94ddcc0bf5681d3c93b0c4
|
4
|
+
data.tar.gz: 92753b2fbb1271cfec93e2eddd07d11da1091eaf8b36494e754ac3400a83a6a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16a328b5b11d826f8149f0b260675ffe913d7e41a4b5c37035696cb32741b650a9f4bf9fa0d70ed08a1be712ddc8b452824bfb5be60a99b1a9d52ead57d8b7f3
|
7
|
+
data.tar.gz: bff8a0b37d073e1014f9566472030bb2b22e16a19fc1413dec6405cf21d6c3f178b0644ecbb48ee8ed0d259fe4f1b0422e747a5f3192c63753dc76d89ba8cb33
|
data/.circleci/config.yml
CHANGED
@@ -187,6 +187,67 @@ jobs:
|
|
187
187
|
|
188
188
|
workflows:
|
189
189
|
version: 2
|
190
|
+
ruby3-2:
|
191
|
+
jobs:
|
192
|
+
- bundle:
|
193
|
+
ruby_version: "3.2.2"
|
194
|
+
rails_version: "6.1.7.2"
|
195
|
+
bundler_version: "2.4.8"
|
196
|
+
- build:
|
197
|
+
ruby_version: "3.2.2"
|
198
|
+
rails_version: "6.1.7.2"
|
199
|
+
bundler_version: "2.4.8"
|
200
|
+
requires:
|
201
|
+
- bundle
|
202
|
+
- test:
|
203
|
+
name: "ruby3-2"
|
204
|
+
ruby_version: "3.2.2"
|
205
|
+
bundler_version: "2.4.8"
|
206
|
+
requires:
|
207
|
+
- build
|
208
|
+
- test:
|
209
|
+
name: "ruby3-2-valkyrie"
|
210
|
+
ruby_version: "3.2.2"
|
211
|
+
bundler_version: "2.4.8"
|
212
|
+
hyrax_valkyrie: "true"
|
213
|
+
requires:
|
214
|
+
- build
|
215
|
+
ruby3-1:
|
216
|
+
jobs:
|
217
|
+
- bundle:
|
218
|
+
ruby_version: "3.1.4"
|
219
|
+
rails_version: "6.1.7.2"
|
220
|
+
bundler_version: "2.4.8"
|
221
|
+
- build:
|
222
|
+
ruby_version: "3.1.4"
|
223
|
+
rails_version: "6.1.7.2"
|
224
|
+
bundler_version: "2.4.8"
|
225
|
+
requires:
|
226
|
+
- bundle
|
227
|
+
- test:
|
228
|
+
name: "ruby3-1"
|
229
|
+
ruby_version: "3.1.4"
|
230
|
+
bundler_version: "2.4.8"
|
231
|
+
requires:
|
232
|
+
- build
|
233
|
+
ruby3-0:
|
234
|
+
jobs:
|
235
|
+
- bundle:
|
236
|
+
ruby_version: "3.0.6"
|
237
|
+
rails_version: "6.1.7.2"
|
238
|
+
bundler_version: "2.4.8"
|
239
|
+
- build:
|
240
|
+
ruby_version: "3.0.6"
|
241
|
+
rails_version: "6.1.7.2"
|
242
|
+
bundler_version: "2.4.8"
|
243
|
+
requires:
|
244
|
+
- bundle
|
245
|
+
- test:
|
246
|
+
name: "ruby3-0"
|
247
|
+
ruby_version: "3.0.6"
|
248
|
+
bundler_version: "2.4.8"
|
249
|
+
requires:
|
250
|
+
- build
|
190
251
|
ruby2-7:
|
191
252
|
jobs:
|
192
253
|
- bundle:
|
data/.dassie/Gemfile
CHANGED
data/.github/CONTRIBUTING.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# How to Contribute
|
2
2
|
|
3
|
-
We want your help to make Samvera great. There are a few guidelines
|
3
|
+
We want your help to make the Samvera community great. There are a few guidelines
|
4
4
|
that we need contributors to follow so that we can have a chance of
|
5
5
|
keeping on top of things.
|
6
6
|
|
@@ -11,16 +11,27 @@ experience for all its members, whether they are at a formal gathering, in
|
|
11
11
|
a social setting, or taking part in activities online. Please see our
|
12
12
|
[Code of Conduct](CODE_OF_CONDUCT.md) for more information.
|
13
13
|
|
14
|
-
##
|
14
|
+
## Language
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
Agreement (cCLA) on file.
|
16
|
+
The language we use matters. Today, tomorrow, and for years to come
|
17
|
+
people will read the code we write. They will judge us for our
|
18
|
+
design, logic, and the words we use to describe the system.
|
20
19
|
|
21
|
-
|
20
|
+
Our words should be accessible. Favor descriptive words that give
|
21
|
+
meaning while avoiding reinforcing systemic inequities. For example,
|
22
|
+
in the Samvera community, we should favor using allowed\_list instead
|
23
|
+
of whitelist, denied\_list instead of blacklist, or source/copy
|
24
|
+
instead of master/slave.
|
22
25
|
|
23
|
-
|
26
|
+
We're going to get it wrong, but this is a call to keep working to
|
27
|
+
make it right. View our code and the words we choose as a chance to
|
28
|
+
have a conversation. A chance to grow an understanding of the systems
|
29
|
+
we develop as well as the systems in which we live.
|
30
|
+
|
31
|
+
See [“Blacklists” and “whitelists”: a salutary warning concerning the
|
32
|
+
prevalence of racist language in discussions of predatory
|
33
|
+
publishing](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6148600/) for
|
34
|
+
further details.
|
24
35
|
|
25
36
|
## Contribution Tasks
|
26
37
|
|
@@ -34,7 +45,7 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
34
45
|
### Reporting Issues
|
35
46
|
|
36
47
|
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
37
|
-
* Submit a [Github issue](
|
48
|
+
* Submit a [Github issue](https://github.com/samvera/hyrax/issues/) by:
|
38
49
|
* Clearly describing the issue
|
39
50
|
* Provide a descriptive summary
|
40
51
|
* Explain the expected behavior
|
@@ -45,15 +56,22 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
45
56
|
|
46
57
|
* Fork the repository on GitHub
|
47
58
|
* Create a topic branch from where you want to base your work.
|
48
|
-
* This is usually the
|
49
|
-
* To quickly create a topic branch based on
|
50
|
-
* Then checkout the new branch with `git checkout fix/
|
51
|
-
* Please avoid working directly on the `
|
59
|
+
* This is usually the `main` branch.
|
60
|
+
* To quickly create a topic branch based on `main`; `git branch fix/main/my_contribution main`
|
61
|
+
* Then checkout the new branch with `git checkout fix/main/my_contribution`.
|
62
|
+
* Please avoid working directly on the `main` branch.
|
63
|
+
* Please do not create a branch called `master`. (See note below.)
|
52
64
|
* You may find the [hub suite of commands](https://github.com/defunkt/hub) helpful
|
53
65
|
* Make sure you have added sufficient tests and documentation for your changes.
|
54
66
|
* Test functionality with RSpec; Test features / UI with Capybara.
|
55
67
|
* Run _all_ the tests to assure nothing else was accidentally broken.
|
56
68
|
|
69
|
+
NOTE: This repository follows the [Samvera Community Code of Conduct](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405212316/Code+of+Conduct)
|
70
|
+
and [language recommendations](#language).
|
71
|
+
Please ***do not*** create a branch called `master` for this repository or as part of
|
72
|
+
your pull request; the branch will either need to be removed or renamed before it can
|
73
|
+
be considered for inclusion in the code base and history of this repository.
|
74
|
+
|
57
75
|
### Documenting Code
|
58
76
|
|
59
77
|
* All new public methods, modules, and classes should include inline documentation in [YARD](http://yardoc.org/).
|
@@ -63,15 +81,11 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
63
81
|
* If you don't know exactly what a bit of code does, it is extra likely that it needs to be documented. Take a stab at it and ask for feedback in your pull request. You can use the 'blame' button on GitHub to identify the original developer of the code and @mention them in your comment.
|
64
82
|
* This work greatly increases the usability of the code base and supports the on-ramping of new committers.
|
65
83
|
* We will all be understanding of one another's time constraints in this area.
|
66
|
-
* YARD examples:
|
67
|
-
* [Hyrax::AdminSet](https://github.com/samvera/hyrax/blob/master/app/models/admin_set.rb)
|
68
|
-
* [ActiveTriples::LocalName::Minter](https://github.com/ActiveTriples/active_triples-local_name/blob/master/lib/active_triples/local_name/minter.rb)
|
69
84
|
* [Getting started with YARD](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md)
|
70
85
|
|
71
86
|
### Committing changes
|
72
87
|
|
73
88
|
* Make commits of logical units.
|
74
|
-
* Your commit should include a high level description of your work in HISTORY.textile
|
75
89
|
* Check for unnecessary whitespace with `git diff --check` before committing.
|
76
90
|
* Make sure your commit messages are [well formed](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
|
77
91
|
* If you created an issue, you can close it by including "Closes #issue" in your commit message. See [Github's blog post for more details](https://github.com/blog/1386-closing-issues-via-commit-messages)
|
@@ -112,18 +126,16 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
112
126
|
|
113
127
|
### Submitting Changes
|
114
128
|
|
115
|
-
[Detailed Walkthrough of One Pull Request per Commit](http://ndlib.github.io/practices/one-commit-per-pull-request/)
|
116
|
-
|
117
129
|
* Read the article ["Using Pull Requests"](https://help.github.com/articles/using-pull-requests) on GitHub.
|
118
|
-
* Make sure your branch is up to date with its parent branch (i.e.
|
119
|
-
* `git checkout
|
130
|
+
* Make sure your branch is up to date with its parent branch (i.e. main)
|
131
|
+
* `git checkout main`
|
120
132
|
* `git pull --rebase`
|
121
133
|
* `git checkout <your-branch>`
|
122
|
-
* `git rebase
|
134
|
+
* `git rebase main`
|
123
135
|
* It is a good idea to run your tests again.
|
124
136
|
* If you've made more than one commit take a moment to consider whether squashing commits together would help improve their logical grouping.
|
125
137
|
* [Detailed Walkthrough of One Pull Request per Commit](http://ndlib.github.io/practices/one-commit-per-pull-request/)
|
126
|
-
* `git rebase --interactive
|
138
|
+
* `git rebase --interactive main` ([See Github help](https://help.github.com/articles/interactive-rebase))
|
127
139
|
* Squashing your branch's changes into one commit is "good form" and helps the person merging your request to see everything that is going on.
|
128
140
|
* Push your changes to a topic branch in your fork of the repository.
|
129
141
|
* Submit a pull request from your fork to the project.
|
@@ -133,14 +145,14 @@ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the pr
|
|
133
145
|
We adopted [Github's Pull Request Review](https://help.github.com/articles/about-pull-request-reviews/) for our repositories.
|
134
146
|
Common checks that may occur in our repositories:
|
135
147
|
|
136
|
-
1.
|
137
|
-
2.
|
148
|
+
1. [CircleCI](https://circleci.com/gh/samvera) - where our automated tests are running
|
149
|
+
2. RuboCop/Bixby - where we check for style violations
|
138
150
|
3. Approval Required - Github enforces at least one person approve a pull request. Also, all reviewers that have chimed in must approve.
|
139
151
|
4. CodeClimate - is our code remaining healthy (at least according to static code analysis)
|
140
152
|
|
141
153
|
If one or more of the required checks failed (or are incomplete), the code should not be merged (and the UI will not allow it). If all of the checks have passed, then anyone on the project (including the pull request submitter) may merge the code.
|
142
154
|
|
143
|
-
*Example: Carolyn submits a pull request, Justin reviews the pull request and approves. However, Justin is still waiting on other checks (
|
155
|
+
*Example: Carolyn submits a pull request, Justin reviews the pull request and approves. However, Justin is still waiting on other checks (CI tests are usually the culprit), so he does not merge the pull request. Eventually, all of the checks pass. At this point, Carolyn or anyone else may merge the pull request.*
|
144
156
|
|
145
157
|
#### Things to Consider When Reviewing
|
146
158
|
|
@@ -157,7 +169,7 @@ This is your chance for a mentoring moment of another developer. Take time to gi
|
|
157
169
|
* Do new or changed methods, modules, and classes have documentation?
|
158
170
|
* Does the commit contain more than it should? Are two separate concerns being addressed in one commit?
|
159
171
|
* Does the description of the new/changed specs match your understanding of what the spec is doing?
|
160
|
-
* Did the
|
172
|
+
* Did the Continuous Integration tests complete successfully?
|
161
173
|
|
162
174
|
If you are uncertain, bring other contributors into the conversation by assigning them as a reviewer.
|
163
175
|
|
data/.regen
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# When updating CI regen seed, set to current date.
|
2
|
-
|
2
|
+
2023-04-11T16:25:55
|
data/CONTAINERS.md
CHANGED
@@ -5,13 +5,13 @@ Our goal is to provide a practical, reusable reference environment for applicati
|
|
5
5
|
|
6
6
|
The [Hyrax Engine Development](#hyrax-engine-development) is further along than the [Docker Image for Hyrax-based Applications](#docker-image-for-hyrax-based-applications) which is further along than [Deploying to Production](#deploying-to-production).
|
7
7
|
|
8
|
-
There are two options for development environments to run:
|
8
|
+
There are two options for development environments to run:
|
9
9
|
|
10
10
|
- [Dassie](#dassie-internal-test-app-with-activefedora) is the default internal test app that will run an ActiveFedora-based Hyrax web application using Fedora 4 as the backend storage. See [Troubleshooting Dassie](#troubleshooting-dassie) if you encounter any issues.
|
11
11
|
- [Koppie](#koppie-internal-test-app-with-valkyrie-connector-to-postgres) is a newer internal test app that is a Valkyrie-based Hyrax web application that runs with PostGres as backend storage. It does not run ActiveFedora or use Fedora 4. See [Troubleshooting Koppie](#troubleshooting-koppie) if you encounter any issues.
|
12
12
|
|
13
13
|
<!-- NOTE: This title is referenced in the top-level README.md. Keep that in mind if you change it. -->
|
14
|
-
## Hyrax Engine Development
|
14
|
+
## Hyrax Engine Development
|
15
15
|
|
16
16
|
We support a `docker-compose`-based development environment for folks working on
|
17
17
|
the Hyrax engine. This environment is substantially more like a Hyrax production
|
@@ -191,7 +191,7 @@ We publish several Hyrax images to the [GitHub container registry][ghcr] under
|
|
191
191
|
the [Samvera organization][samvera-packages]. To build them:
|
192
192
|
|
193
193
|
```sh
|
194
|
-
export HYRAX_VERSION=v4.0.0.
|
194
|
+
export HYRAX_VERSION=v4.0.0.rc2 # or desired version
|
195
195
|
git checkout hyrax-$HYRAX_VERSION
|
196
196
|
|
197
197
|
docker build --target hyrax-base --tag ghcr.io/samvera/hyrax/hyrax-base:$(git rev-parse HEAD) .
|
@@ -229,4 +229,4 @@ helm install -n hyrax --set image.tag=(git rev-parse HEAD) dassie chart/hyrax
|
|
229
229
|
```
|
230
230
|
|
231
231
|
[ghcr]: https://docs.github.com/en/enterprise-cloud@latest/packages/working-with-a-github-packages-registry/working-with-the-container-registry
|
232
|
-
[samvera-packages]: https://github.com/orgs/samvera/packages
|
232
|
+
[samvera-packages]: https://github.com/orgs/samvera/packages
|
data/Dockerfile
CHANGED
@@ -50,7 +50,7 @@ module Hyrax
|
|
50
50
|
# @return [TrueClass]
|
51
51
|
def attach_files(files, curation_concern, attributes)
|
52
52
|
return true if files.blank?
|
53
|
-
AttachFilesToWorkJob.perform_later(curation_concern, files, attributes.to_h.symbolize_keys)
|
53
|
+
AttachFilesToWorkJob.perform_later(curation_concern, files, **attributes.to_h.symbolize_keys)
|
54
54
|
true
|
55
55
|
end
|
56
56
|
|
@@ -41,7 +41,8 @@ module Hyrax::Controller
|
|
41
41
|
|
42
42
|
##
|
43
43
|
# @note for Blacklight 6/7 compatibility
|
44
|
-
def search_service(**search_params)
|
44
|
+
def search_service(*args, **search_params)
|
45
|
+
search_params.merge!(args.last) if args.last.is_a?(Hash)
|
45
46
|
return super if defined?(super) && search_params.empty?
|
46
47
|
|
47
48
|
search_service_class.new(config: blacklight_config,
|
@@ -8,7 +8,7 @@ module Hyrax
|
|
8
8
|
class PcdmCollectionForm < Valkyrie::ChangeSet # rubocop:disable Metrics/ClassLength
|
9
9
|
include Hyrax::FormFields(:core_metadata)
|
10
10
|
|
11
|
-
BannerInfoPrepopulator = lambda do
|
11
|
+
BannerInfoPrepopulator = lambda do |**_options|
|
12
12
|
self.banner_info ||= begin
|
13
13
|
banner_info = CollectionBrandingInfo.where(collection_id: id.to_s, role: "banner")
|
14
14
|
banner_file = File.split(banner_info.first.local_path).last unless banner_info.empty?
|
@@ -19,7 +19,7 @@ module Hyrax
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
LogoInfoPrepopulator = lambda do
|
22
|
+
LogoInfoPrepopulator = lambda do |**_options|
|
23
23
|
self.logo_info ||= begin
|
24
24
|
logos_info = CollectionBrandingInfo.where(collection_id: id.to_s, role: "logo")
|
25
25
|
|
@@ -12,7 +12,7 @@ module Hyrax
|
|
12
12
|
property :proxy_depositor
|
13
13
|
|
14
14
|
# pcdm relationships
|
15
|
-
property :admin_set_id, prepopulator:
|
15
|
+
property :admin_set_id, prepopulator: proc { |_opts| self.admin_set_id = Hyrax::AdminSetCreateService.find_or_create_default_admin_set.id.to_s }
|
16
16
|
property :member_ids, default: [], type: Valkyrie::Types::Array
|
17
17
|
property :member_of_collection_ids, default: [], type: Valkyrie::Types::Array
|
18
18
|
property :member_of_collections_attributes, virtual: true, populator: :in_collections_populator
|
@@ -9,8 +9,8 @@ module Hyrax
|
|
9
9
|
# names. we provide these as virtual fields and prepopulate these from
|
10
10
|
# `Hyrax::Permission`.
|
11
11
|
class Permission < Hyrax::ChangeSet
|
12
|
-
property :agent_name, virtual: true, prepopulator:
|
13
|
-
property :access, virtual: true, prepopulator:
|
12
|
+
property :agent_name, virtual: true, prepopulator: proc { |_opts| self.agent_name = model.agent }
|
13
|
+
property :access, virtual: true, prepopulator: proc { |_opts| self.access = model.mode }
|
14
14
|
|
15
15
|
##
|
16
16
|
# @note support a {#to_hash} method for compatibility with
|
@@ -37,7 +37,7 @@ module Hyrax
|
|
37
37
|
class ResourceForm < Hyrax::ChangeSet # rubocop:disable Metrics/ClassLength
|
38
38
|
##
|
39
39
|
# @api private
|
40
|
-
InWorksPrepopulator =
|
40
|
+
InWorksPrepopulator = proc do |_options|
|
41
41
|
self.in_works_ids =
|
42
42
|
if persisted?
|
43
43
|
Hyrax.query_service
|
@@ -56,7 +56,7 @@ module Hyrax
|
|
56
56
|
# with `etag`-driven, application-side lock checks. for non-wings adapters
|
57
57
|
# we want to move away from application side lock validation and rely
|
58
58
|
# on the adapter/database features instead.
|
59
|
-
LockKeyPrepopulator =
|
59
|
+
LockKeyPrepopulator = proc do |_options|
|
60
60
|
if Hyrax.config.disable_wings || !Hyrax.metadata_adapter.is_a?(Wings::Valkyrie::MetadataAdapter)
|
61
61
|
Hyrax.logger.info "trying to prepopulate a lock token for " \
|
62
62
|
"#{self.class.inspect}, but optimistic locking isn't " \
|
@@ -78,26 +78,26 @@ module Hyrax
|
|
78
78
|
|
79
79
|
property :date_modified, readable: false
|
80
80
|
property :date_uploaded, readable: false
|
81
|
-
property :agreement_accepted, virtual: true, default: false, prepopulator:
|
81
|
+
property :agreement_accepted, virtual: true, default: false, prepopulator: proc { |_opts| self.agreement_accepted = !model.new_record }
|
82
82
|
|
83
83
|
collection(:permissions,
|
84
84
|
virtual: true,
|
85
85
|
default: [],
|
86
86
|
form: Hyrax::Forms::Permission,
|
87
87
|
populator: :permission_populator,
|
88
|
-
prepopulator:
|
88
|
+
prepopulator: proc { |_opts| self.permissions = Hyrax::AccessControl.for(resource: model).permissions })
|
89
89
|
|
90
90
|
property :embargo, form: Hyrax::Forms::Embargo, populator: :embargo_populator
|
91
91
|
property :lease, form: Hyrax::Forms::Lease, populator: :lease_populator
|
92
92
|
|
93
93
|
# virtual properties for embargo/lease;
|
94
|
-
property :embargo_release_date, virtual: true, prepopulator:
|
95
|
-
property :visibility_after_embargo, virtual: true, prepopulator:
|
96
|
-
property :visibility_during_embargo, virtual: true, prepopulator:
|
94
|
+
property :embargo_release_date, virtual: true, prepopulator: proc { |_opts| self.embargo_release_date = model.embargo&.embargo_release_date }
|
95
|
+
property :visibility_after_embargo, virtual: true, prepopulator: proc { |_opts| self.visibility_after_embargo = model.embargo&.visibility_after_embargo }
|
96
|
+
property :visibility_during_embargo, virtual: true, prepopulator: proc { |_opts| self.visibility_during_embargo = model.embargo&.visibility_during_embargo }
|
97
97
|
|
98
|
-
property :lease_expiration_date, virtual: true, prepopulator:
|
99
|
-
property :visibility_after_lease, virtual: true, prepopulator:
|
100
|
-
property :visibility_during_lease, virtual: true, prepopulator:
|
98
|
+
property :lease_expiration_date, virtual: true, prepopulator: proc { |_opts| self.lease_expiration_date = model.lease&.lease_expiration_date }
|
99
|
+
property :visibility_after_lease, virtual: true, prepopulator: proc { |_opts| self.visibility_after_lease = model.lease&.visibility_after_lease }
|
100
|
+
property :visibility_during_lease, virtual: true, prepopulator: proc { |_opts| self.visibility_during_lease = model.lease&.visibility_during_lease }
|
101
101
|
|
102
102
|
property :in_works_ids, virtual: true, prepopulator: InWorksPrepopulator
|
103
103
|
|
@@ -11,9 +11,9 @@ module Hyrax
|
|
11
11
|
# +EmbargoesControllerBehavior+.
|
12
12
|
class WorkEmbargoForm < Hyrax::ChangeSet
|
13
13
|
property :embargo, form: Hyrax::Forms::Embargo, populator: :embargo_populator, prepopulator: :embargo_populator
|
14
|
-
property :embargo_release_date, virtual: true, prepopulator:
|
15
|
-
property :visibility_after_embargo, virtual: true, prepopulator:
|
16
|
-
property :visibility_during_embargo, virtual: true, prepopulator:
|
14
|
+
property :embargo_release_date, virtual: true, prepopulator: proc { |_opts| self.embargo_release_date = model.embargo&.embargo_release_date }
|
15
|
+
property :visibility_after_embargo, virtual: true, prepopulator: proc { |_opts| self.visibility_after_embargo = model.embargo&.visibility_after_embargo }
|
16
|
+
property :visibility_during_embargo, virtual: true, prepopulator: proc { |_opts| self.visibility_during_embargo = model.embargo&.visibility_during_embargo }
|
17
17
|
|
18
18
|
def embargo_populator(**)
|
19
19
|
self.embargo = Hyrax::EmbargoManager.embargo_for(resource: model)
|
@@ -11,9 +11,9 @@ module Hyrax
|
|
11
11
|
# +LeasesControllerBehavior+.
|
12
12
|
class WorkLeaseForm < Hyrax::ChangeSet
|
13
13
|
property :lease, form: Hyrax::Forms::Lease, populator: :lease_populator, prepopulator: :lease_populator
|
14
|
-
property :lease_expiration_date, virtual: true, prepopulator:
|
15
|
-
property :visibility_after_lease, virtual: true, prepopulator:
|
16
|
-
property :visibility_during_lease, virtual: true, prepopulator:
|
14
|
+
property :lease_expiration_date, virtual: true, prepopulator: proc { |_opts| self.lease_expiration_date = model.lease&.lease_expiration_date }
|
15
|
+
property :visibility_after_lease, virtual: true, prepopulator: proc { |_opts| self.visibility_after_lease = model.lease&.visibility_after_lease }
|
16
|
+
property :visibility_during_lease, virtual: true, prepopulator: proc { |_opts| self.visibility_during_lease = model.lease&.visibility_during_lease }
|
17
17
|
|
18
18
|
def lease_populator(**)
|
19
19
|
self.lease = Hyrax::LeaseManager.lease_for(resource: model)
|
@@ -3,7 +3,7 @@ module Hyrax
|
|
3
3
|
module ContentBlockHelperBehavior
|
4
4
|
def displayable_content_block(content_block, **options)
|
5
5
|
return unless display_content_block? content_block
|
6
|
-
tag.div
|
6
|
+
tag.div(raw(content_block.value), **options)
|
7
7
|
end
|
8
8
|
|
9
9
|
def display_content_block?(content_block)
|
@@ -3,7 +3,7 @@ module Hyrax
|
|
3
3
|
module IiifHelper
|
4
4
|
def iiif_viewer_display(work_presenter, locals = {})
|
5
5
|
render iiif_viewer_display_partial(work_presenter),
|
6
|
-
locals.merge(presenter: work_presenter)
|
6
|
+
**locals.merge(presenter: work_presenter)
|
7
7
|
end
|
8
8
|
|
9
9
|
def iiif_viewer_display_partial(work_presenter)
|
@@ -1,18 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
class CollectionBrandingInfo < ApplicationRecord
|
3
|
-
|
4
|
-
|
5
|
-
role:,
|
6
|
-
alt_txt: "",
|
7
|
-
target_url: "")
|
8
|
-
|
9
|
-
super()
|
10
|
-
self.collection_id = collection_id
|
11
|
-
self.role = role
|
12
|
-
self.alt_text = alt_txt
|
13
|
-
self.target_url = target_url
|
14
|
-
self.local_path = File.join(role, filename)
|
15
|
-
end
|
3
|
+
attr_accessor :filename, :alt_txt
|
4
|
+
after_initialize :set_collection_attributes
|
16
5
|
|
17
6
|
def save(file_location, upload_file = true)
|
18
7
|
filename = File.split(local_path).last
|
@@ -52,6 +41,11 @@ class CollectionBrandingInfo < ApplicationRecord
|
|
52
41
|
|
53
42
|
private
|
54
43
|
|
44
|
+
def set_collection_attributes
|
45
|
+
self.alt_text ||= alt_txt || ''
|
46
|
+
self.local_path ||= File.join(role, filename)
|
47
|
+
end
|
48
|
+
|
55
49
|
def storage
|
56
50
|
Hyrax.config.branding_storage_adapter
|
57
51
|
end
|
@@ -204,7 +204,7 @@ module Hyrax
|
|
204
204
|
interpreted_read_groups = read_groups
|
205
205
|
|
206
206
|
if interpret_visibility
|
207
|
-
visibilities = Hyrax
|
207
|
+
visibilities = Hyrax.config.visibility_map
|
208
208
|
interpreted_read_groups -= visibilities.deletions_for(visibility: collection.visibility)
|
209
209
|
interpreted_read_groups += visibilities.additions_for(visibility: collection.visibility)
|
210
210
|
end
|
@@ -77,7 +77,7 @@ module Hyrax
|
|
77
77
|
metadata_fields.map do |field_name|
|
78
78
|
{
|
79
79
|
'label' => I18n.t("simple_form.labels.defaults.#{field_name}"),
|
80
|
-
'value' => Array(
|
80
|
+
'value' => Array(send(field_name)).map { |value| scrub(value.to_s) }
|
81
81
|
}
|
82
82
|
end
|
83
83
|
end
|
@@ -44,8 +44,8 @@ module Hyrax
|
|
44
44
|
end
|
45
45
|
|
46
46
|
# Query solr using POST so that the query doesn't get too large for a URI
|
47
|
-
def query(query,
|
48
|
-
result = Hyrax::SolrService.post(query,
|
47
|
+
def query(query, **opts)
|
48
|
+
result = Hyrax::SolrService.post(query, **opts)
|
49
49
|
result.fetch('response').fetch('docs')
|
50
50
|
end
|
51
51
|
end
|
@@ -128,8 +128,8 @@ module Hyrax
|
|
128
128
|
|
129
129
|
# Wraps ActiveFedora::Base#search_by_id(id, opts)
|
130
130
|
# @return [Array<SolrHit>] the response docs wrapped in SolrHit objects
|
131
|
-
def search_by_id(id, opts
|
132
|
-
result = Hyrax::SolrService.query("id:#{id}", opts.merge(rows: 1))
|
131
|
+
def search_by_id(id, **opts)
|
132
|
+
result = Hyrax::SolrService.query("id:#{id}", **opts.merge(rows: 1))
|
133
133
|
|
134
134
|
raise Hyrax::ObjectNotFoundError, "Object '#{id}' not found in solr" if result.empty?
|
135
135
|
result.first
|
@@ -55,7 +55,7 @@ module Hyrax
|
|
55
55
|
workflow_actions_scope.arel_table[:id].in(
|
56
56
|
workflow_state_actions_scope.arel_table.project(
|
57
57
|
workflow_state_actions_scope.arel_table[:workflow_action_id]
|
58
|
-
).where(workflow_state_actions_scope.arel.constraints.reduce)
|
58
|
+
).where(workflow_state_actions_scope.arel.constraints.reduce(:+))
|
59
59
|
)
|
60
60
|
)
|
61
61
|
end
|
@@ -307,7 +307,7 @@ module Hyrax
|
|
307
307
|
|
308
308
|
entity_specific_scope = scope_processing_workflow_roles_for_user_and_entity_specific(user: user, entity: entity)
|
309
309
|
Sipity::WorkflowRole.where(
|
310
|
-
workflow_scope.arel.constraints.reduce.or(entity_specific_scope.arel.constraints.reduce)
|
310
|
+
workflow_scope.arel.constraints.reduce(:+).or(entity_specific_scope.arel.constraints.reduce(:+))
|
311
311
|
)
|
312
312
|
end
|
313
313
|
|
@@ -358,7 +358,7 @@ module Hyrax
|
|
358
358
|
agent_scope.arel_table.project(
|
359
359
|
agent_scope.arel_table[:id]
|
360
360
|
).where(
|
361
|
-
agent_scope.arel.constraints.reduce.and(entity_responsibilities[:entity_id].eq(entity.id))
|
361
|
+
agent_scope.arel.constraints.reduce(:+).and(entity_responsibilities[:entity_id].eq(entity.id))
|
362
362
|
)
|
363
363
|
)
|
364
364
|
)
|
@@ -399,7 +399,7 @@ module Hyrax
|
|
399
399
|
).where(
|
400
400
|
permissions.arel_table[:workflow_role_id].in(
|
401
401
|
role_scope.arel_table.project(role_scope.arel_table[:id]).where(
|
402
|
-
role_scope.arel.constraints.reduce
|
402
|
+
role_scope.arel.constraints.reduce(:+)
|
403
403
|
)
|
404
404
|
)
|
405
405
|
)
|
@@ -441,7 +441,7 @@ module Hyrax
|
|
441
441
|
# @return [ActiveRecord::Relation<Sipity::WorkflowAction>]
|
442
442
|
def scope_workflow_actions_available_for_current_state(entity:)
|
443
443
|
workflow_actions_for_current_state = scope_workflow_actions_for_current_state(entity: entity)
|
444
|
-
Sipity::WorkflowAction.where(workflow_actions_for_current_state.arel.constraints.reduce)
|
444
|
+
Sipity::WorkflowAction.where(workflow_actions_for_current_state.arel.constraints.reduce(:+))
|
445
445
|
end
|
446
446
|
end
|
447
447
|
end
|
@@ -5,8 +5,8 @@ module Hyrax
|
|
5
5
|
class CollectionMembershipValidator < ActiveModel::Validator
|
6
6
|
##
|
7
7
|
# @param multiple_membership_checker
|
8
|
-
def initialize(
|
9
|
-
@multiple_membership_checker = multiple_membership_checker
|
8
|
+
def initialize(options = {})
|
9
|
+
@multiple_membership_checker = options[:multiple_membership_checker] || Hyrax::MultipleMembershipChecker
|
10
10
|
super(options)
|
11
11
|
end
|
12
12
|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Add support for engine routes to kaminari
|
4
|
+
Rails.application.config.to_prepare do
|
5
|
+
Kaminari::Helpers::Tag.class_eval do
|
6
|
+
def page_url_for(page)
|
7
|
+
params = params_for(page)
|
8
|
+
params[:only_path] = true
|
9
|
+
if @options[:route_set]
|
10
|
+
@options[:route_set].url_for params
|
11
|
+
else
|
12
|
+
@template.url_for params
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -50,7 +50,7 @@ The Samvera community is here to help. Please see our [support guide](../.github
|
|
50
50
|
# Getting started
|
51
51
|
|
52
52
|
This document contains instructions specific to setting up an app with __Hyrax
|
53
|
-
v4.0.0.
|
53
|
+
v4.0.0.rc2__. If you are looking for instructions on installing a different
|
54
54
|
version, be sure to select the appropriate branch or tag from the drop-down
|
55
55
|
menu above.
|
56
56
|
|
@@ -129,7 +129,7 @@ Note here that the following commands assume you're setting up Hyrax in a develo
|
|
129
129
|
|
130
130
|
First, you'll need a working Ruby installation. You can install this via your operating system's package manager -- you are likely to get farther with OSX, Linux, or UNIX than Windows but your mileage may vary -- but we recommend using a Ruby version manager such as [RVM](https://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv).
|
131
131
|
|
132
|
-
Hyrax supports Ruby 2.
|
132
|
+
Hyrax supports Ruby 2.7, 3.0, 3.1 and 3.2. When starting a new project, we recommend using the latest Ruby 3.2 version.
|
133
133
|
|
134
134
|
## Redis
|
135
135
|
|
@@ -159,7 +159,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
|
|
159
159
|
Generate a new Rails application using the template.
|
160
160
|
|
161
161
|
```
|
162
|
-
rails _6.1.7.3_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/hyrax-v4.0.0.
|
162
|
+
rails _6.1.7.3_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/hyrax-v4.0.0.rc2/template.rb
|
163
163
|
```
|
164
164
|
|
165
165
|
Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
|
data/hyrax.gemspec
CHANGED
@@ -32,7 +32,7 @@ SUMMARY
|
|
32
32
|
# http://guides.rubyonrails.org/maintenance_policy.html
|
33
33
|
spec.add_dependency 'rails', '~> 6.0'
|
34
34
|
|
35
|
-
spec.add_dependency 'active-fedora', '~>
|
35
|
+
spec.add_dependency 'active-fedora', '~> 14.0'
|
36
36
|
spec.add_dependency 'almond-rails', '~> 0.1'
|
37
37
|
spec.add_dependency 'awesome_nested_set', '~> 3.1'
|
38
38
|
spec.add_dependency 'blacklight', '~> 7.29'
|
@@ -53,18 +53,16 @@ SUMMARY
|
|
53
53
|
spec.add_dependency 'font-awesome-rails', '~> 4.2'
|
54
54
|
spec.add_dependency 'hydra-derivatives', '~> 3.3'
|
55
55
|
spec.add_dependency 'hydra-editor', '~> 6.0'
|
56
|
-
spec.add_dependency 'hydra-file_characterization', '~> 1.1
|
56
|
+
spec.add_dependency 'hydra-file_characterization', '~> 1.1'
|
57
57
|
spec.add_dependency 'hydra-head', '~> 12.0'
|
58
58
|
spec.add_dependency 'hydra-works', '>= 0.16'
|
59
59
|
spec.add_dependency 'iiif_manifest', '>= 0.3', '< 2.0'
|
60
60
|
spec.add_dependency 'json-schema' # for Arkivo
|
61
|
-
# Pin more tightly because 0.x gems are potentially unstable
|
62
|
-
spec.add_dependency 'kaminari_route_prefix', '~> 0.1.1'
|
63
61
|
spec.add_dependency 'legato', '~> 0.3'
|
64
62
|
spec.add_dependency 'linkeddata' # Required for getting values from geonames
|
65
63
|
spec.add_dependency 'mailboxer', '~> 0.12'
|
66
64
|
spec.add_dependency 'nest', '~> 3.1'
|
67
|
-
spec.add_dependency 'noid-rails', '~> 3.0
|
65
|
+
spec.add_dependency 'noid-rails', '~> 3.0'
|
68
66
|
spec.add_dependency 'oauth'
|
69
67
|
spec.add_dependency 'oauth2', '~> 1.2'
|
70
68
|
spec.add_dependency 'openseadragon'
|
@@ -79,7 +77,6 @@ SUMMARY
|
|
79
77
|
spec.add_dependency 'reform', '~> 2.3'
|
80
78
|
spec.add_dependency 'reform-rails', '~> 0.2.0'
|
81
79
|
spec.add_dependency 'retriable', '>= 2.9', '< 4.0'
|
82
|
-
spec.add_dependency 'samvera-nesting_indexer', '~> 2.0'
|
83
80
|
spec.add_dependency 'signet'
|
84
81
|
spec.add_dependency 'tinymce-rails', '~> 5.10'
|
85
82
|
spec.add_dependency 'valkyrie', '~> 3.0.1'
|
data/lib/hyrax/configuration.rb
CHANGED
@@ -880,6 +880,17 @@ module Hyrax
|
|
880
880
|
@derivative_services ||= [Hyrax::FileSetDerivativesService]
|
881
881
|
end
|
882
882
|
|
883
|
+
attr_writer :visibility_map
|
884
|
+
# A mapping from visibility string values to permissions; the default and
|
885
|
+
# reference implementation is provided by {Hyrax::VisibilityMap}.
|
886
|
+
#
|
887
|
+
# @return [Hyrax::VisibilityMap]
|
888
|
+
# @see Hyrax::VisibilityReader
|
889
|
+
# @see Hyrax::VisibilityWriter
|
890
|
+
def visibility_map
|
891
|
+
@visibility_map ||= Hyrax::VisibilityMap.instance
|
892
|
+
end
|
893
|
+
|
883
894
|
private
|
884
895
|
|
885
896
|
# @param [Symbol, #to_s] model_name - symbol representing the model
|
data/lib/hyrax/engine.rb
CHANGED
@@ -107,6 +107,8 @@ module Hyrax
|
|
107
107
|
|
108
108
|
ActiveFedora::Base.translate_uri_to_id = c.translate_uri_to_id
|
109
109
|
ActiveFedora::Base.translate_id_to_uri = c.translate_id_to_uri
|
110
|
+
ActiveFedora::File.translate_uri_to_id = c.translate_uri_to_id
|
111
|
+
ActiveFedora::File.translate_id_to_uri = c.translate_id_to_uri
|
110
112
|
|
111
113
|
::Noid::Rails.config.template = c.noid_template
|
112
114
|
::Noid::Rails.config.minter_class = c.noid_minter_class
|
@@ -95,7 +95,8 @@ module Hyrax
|
|
95
95
|
def call(value)
|
96
96
|
Success(
|
97
97
|
steps.inject(value) do |val, step_name|
|
98
|
-
|
98
|
+
args = step_arguments_for(step_name)
|
99
|
+
yield container[step_name].call(val, *args[0..-2], **Hash(args[-1]))
|
99
100
|
end
|
100
101
|
)
|
101
102
|
end
|
@@ -119,7 +120,7 @@ module Hyrax
|
|
119
120
|
# tx = Hyrax::Transactions::Transaction.new(steps: [:first_step, :second_step])
|
120
121
|
# result = tx.with_step_args(second_step: {named_parameter: :param_value}).call(:value)
|
121
122
|
#
|
122
|
-
def with_step_args(args)
|
123
|
+
def with_step_args(**args)
|
123
124
|
raise(ArgumentError, key_err_msg(args.keys)) if
|
124
125
|
args.keys.any? { |key| !step?(key) }
|
125
126
|
|
data/lib/hyrax/version.rb
CHANGED
data/lib/hyrax.rb
CHANGED
@@ -20,7 +20,6 @@ require 'hyrax/version'
|
|
20
20
|
require 'hyrax/inflections'
|
21
21
|
require 'hyrax/name'
|
22
22
|
require 'hyrax/valkyrie_can_can_adapter'
|
23
|
-
require 'kaminari_route_prefix'
|
24
23
|
require 'valkyrie/indexing_adapter'
|
25
24
|
require 'valkyrie/indexing/solr/indexing_adapter'
|
26
25
|
require 'valkyrie/indexing/null_indexing_adapter'
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'faraday/multipart'
|
4
|
+
|
3
5
|
module Wings
|
4
6
|
module Valkyrie
|
5
7
|
##
|
@@ -67,8 +69,9 @@ module Wings
|
|
67
69
|
|
68
70
|
reader = RDF::Reader.for(content_type: response.headers['content-type'])
|
69
71
|
version_graph = RDF::Graph.new << reader.new(response.body)
|
72
|
+
query = { predicate: RDF::Vocab::Fcrepo4.hasVersion }
|
70
73
|
|
71
|
-
version_graph.query(
|
74
|
+
version_graph.query(query).objects.map do |uri|
|
72
75
|
timestamp =
|
73
76
|
version_graph.query([uri, RDF::Vocab::Fcrepo4.created, :created])
|
74
77
|
.first_object
|
data/template.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
# Hack for https://github.com/rails/rails/issues/35153
|
3
3
|
gsub_file 'Gemfile', /^gem ["']sqlite3["']$/, 'gem "sqlite3", "~> 1.3.0"'
|
4
|
-
gem 'hyrax', '4.0.0.
|
4
|
+
gem 'hyrax', '4.0.0.rc2'
|
5
5
|
run 'bundle install'
|
6
6
|
generate 'hyrax:install', '-f'
|
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: 4.0.0.
|
4
|
+
version: 4.0.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2023-
|
17
|
+
date: 2023-05-01 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rails
|
@@ -36,20 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 13.1.2
|
39
|
+
version: '14.0'
|
43
40
|
type: :runtime
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
46
43
|
requirements:
|
47
44
|
- - "~>"
|
48
45
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 13.1.2
|
46
|
+
version: '14.0'
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
48
|
name: almond-rails
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -328,14 +322,14 @@ dependencies:
|
|
328
322
|
requirements:
|
329
323
|
- - "~>"
|
330
324
|
- !ruby/object:Gem::Version
|
331
|
-
version: 1.1
|
325
|
+
version: '1.1'
|
332
326
|
type: :runtime
|
333
327
|
prerelease: false
|
334
328
|
version_requirements: !ruby/object:Gem::Requirement
|
335
329
|
requirements:
|
336
330
|
- - "~>"
|
337
331
|
- !ruby/object:Gem::Version
|
338
|
-
version: 1.1
|
332
|
+
version: '1.1'
|
339
333
|
- !ruby/object:Gem::Dependency
|
340
334
|
name: hydra-head
|
341
335
|
requirement: !ruby/object:Gem::Requirement
|
@@ -398,20 +392,6 @@ dependencies:
|
|
398
392
|
- - ">="
|
399
393
|
- !ruby/object:Gem::Version
|
400
394
|
version: '0'
|
401
|
-
- !ruby/object:Gem::Dependency
|
402
|
-
name: kaminari_route_prefix
|
403
|
-
requirement: !ruby/object:Gem::Requirement
|
404
|
-
requirements:
|
405
|
-
- - "~>"
|
406
|
-
- !ruby/object:Gem::Version
|
407
|
-
version: 0.1.1
|
408
|
-
type: :runtime
|
409
|
-
prerelease: false
|
410
|
-
version_requirements: !ruby/object:Gem::Requirement
|
411
|
-
requirements:
|
412
|
-
- - "~>"
|
413
|
-
- !ruby/object:Gem::Version
|
414
|
-
version: 0.1.1
|
415
395
|
- !ruby/object:Gem::Dependency
|
416
396
|
name: legato
|
417
397
|
requirement: !ruby/object:Gem::Requirement
|
@@ -474,14 +454,14 @@ dependencies:
|
|
474
454
|
requirements:
|
475
455
|
- - "~>"
|
476
456
|
- !ruby/object:Gem::Version
|
477
|
-
version: 3.0
|
457
|
+
version: '3.0'
|
478
458
|
type: :runtime
|
479
459
|
prerelease: false
|
480
460
|
version_requirements: !ruby/object:Gem::Requirement
|
481
461
|
requirements:
|
482
462
|
- - "~>"
|
483
463
|
- !ruby/object:Gem::Version
|
484
|
-
version: 3.0
|
464
|
+
version: '3.0'
|
485
465
|
- !ruby/object:Gem::Dependency
|
486
466
|
name: oauth
|
487
467
|
requirement: !ruby/object:Gem::Requirement
|
@@ -696,20 +676,6 @@ dependencies:
|
|
696
676
|
- - "<"
|
697
677
|
- !ruby/object:Gem::Version
|
698
678
|
version: '4.0'
|
699
|
-
- !ruby/object:Gem::Dependency
|
700
|
-
name: samvera-nesting_indexer
|
701
|
-
requirement: !ruby/object:Gem::Requirement
|
702
|
-
requirements:
|
703
|
-
- - "~>"
|
704
|
-
- !ruby/object:Gem::Version
|
705
|
-
version: '2.0'
|
706
|
-
type: :runtime
|
707
|
-
prerelease: false
|
708
|
-
version_requirements: !ruby/object:Gem::Requirement
|
709
|
-
requirements:
|
710
|
-
- - "~>"
|
711
|
-
- !ruby/object:Gem::Version
|
712
|
-
version: '2.0'
|
713
679
|
- !ruby/object:Gem::Dependency
|
714
680
|
name: signet
|
715
681
|
requirement: !ruby/object:Gem::Requirement
|
@@ -2962,6 +2928,7 @@ files:
|
|
2962
2928
|
- config/i18n-tasks.yml
|
2963
2929
|
- config/initializers/1_healthz.rb
|
2964
2930
|
- config/initializers/indexing_adapter_initializer.rb
|
2931
|
+
- config/initializers/kaminari_engine_patch.rb
|
2965
2932
|
- config/initializers/listeners.rb
|
2966
2933
|
- config/initializers/reform_rails_6_1_monkey_patch.rb
|
2967
2934
|
- config/initializers/simple_form.rb
|
@@ -3329,7 +3296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
3329
3296
|
- !ruby/object:Gem::Version
|
3330
3297
|
version: 1.3.1
|
3331
3298
|
requirements: []
|
3332
|
-
rubygems_version: 3.4.
|
3299
|
+
rubygems_version: 3.4.12
|
3333
3300
|
signing_key:
|
3334
3301
|
specification_version: 4
|
3335
3302
|
summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
|