Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

♻️ Extracting naming container #6694

Merged
merged 17 commits into from Feb 18, 2024
Merged

♻️ Extracting naming container #6694

merged 17 commits into from Feb 18, 2024

Conversation

jeremyf
Copy link
Contributor

@jeremyf jeremyf commented Feb 13, 2024

Throughout the code we have quite a bit of conditionals regarding what is a work, collection, file_set, and adminsitrative set. This model attempts to provide a common point to interrogate the application.

There are, at present, no refactors to use this model.

Consider how our specs and our application are inconsistent in their declaration/configuration/stubbing. This model should help with that.

@samvera/hyrax-code-reviewers

Throughout the code we have quite a bit of conditionals regarding what
is a work, collection, file_set, and adminsitrative set.  This model
attempts to provide a common point to interrogate the application.

There are, at present, no refactors to use this model.

Consider how our specs and our application are inconsistent in their
declaration/configuration/stubbing.  This model should help with that.
Instead of the myriad of ways of asking about which models to use, let's
leverage a consolidated central place for information.

This is but one step in addressing other issues.
@jeremyf jeremyf marked this pull request as draft February 13, 2024 23:04
For those reading along, I removed an assertion from
`spec/features/dashboard/collection_spec.rb`.  Why?  Because the test
was creating one type of admin set, and the queries for what to show was
filtering on other kinds of admin sets.

Ultimatley creating a false assertion.
Prior to this commit, if the `update` failed, we would not have set the
`@collection_type` instance variable.  Which would mean that we'd raise
a `NoMethodError` on `NilClass` in the
`app/views/hyrax/dashboard/collections/_form_share_table.html.erb` view.

By favoring a helper method, we no longer require that the edit (nor
create) call the collection_type method.

Below is the the only view references for `@collection_type`, so the
helper_method appears to be adequate.

```shell
❯ rg "@collection_type[\. ]" app/views
app/views/hyrax/dashboard/collections/_form_share_table.html.erb
5:  <p><%= t(".#{access}.help_with_works", type_title: @collection_type.title) if @collection_type.share_applies_to_new_works? && access != 'depositors' %></p>

app/views/hyrax/admin/collection_types/_form.html.erb
22:      <% if @collection_type.admin_set? %>
```
@jeremyf jeremyf marked this pull request as ready for review February 14, 2024 14:05
@jeremyf jeremyf merged commit 76b215a into main Feb 18, 2024
6 checks passed
@jeremyf jeremyf deleted the extract-hyrax-model-registry branch February 18, 2024 16:53
jeremyf added a commit that referenced this pull request Feb 19, 2024
* main:
  🐛 Create admin set of configured type (#6701)
  Add conditional to `.fileset_for_directives` (#6695)
  ♻️ Extracting naming container (#6694)
@dlpierce dlpierce added the notes-minor Release Notes: Non-breaking features label Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notes-minor Release Notes: Non-breaking features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants