diff --git a/.github/workflows/build-test-lint.yaml b/.github/workflows/build-test-lint.yaml index 2bdf3c6..998e948 100644 --- a/.github/workflows/build-test-lint.yaml +++ b/.github/workflows/build-test-lint.yaml @@ -17,7 +17,7 @@ on: jobs: build: - uses: scientist-softserv/actions/.github/workflows/build.yaml@v0.0.15 + uses: scientist-softserv/actions/.github/workflows/build.yaml@v0.0.18 secrets: inherit with: platforms: 'linux/amd64' @@ -26,7 +26,7 @@ jobs: test: needs: build - uses: scientist-softserv/actions/.github/workflows/test.yaml@v0.0.15 + uses: scientist-softserv/actions/.github/workflows/test.yaml@v0.0.18 with: confdir: '/app/samvera/hyrax-webapp/solr/conf' webTarget: hyku-web @@ -35,7 +35,7 @@ jobs: lint: needs: build - uses: scientist-softserv/actions/.github/workflows/lint.yaml@v0.0.15 + uses: scientist-softserv/actions/.github/workflows/lint.yaml@v0.0.18 with: webTarget: hyku-web workerTarget: hyku-worker diff --git a/.gitignore b/.gitignore index e00f97c..fbf5d9b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ scratch.md .DS_Store /coverage +file_cache/ diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..2c1a663 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,78 @@ +inherit_gem: + bixby: bixby_default.yml + +AllCops: + NewCops: disable + TargetRubyVersion: 3.2.2 + DisplayCopNames: true + Exclude: + # NOTE: When we run knapsack's rubocop, we don't want to check the submodule + # for Hyku. We'll assume it's okay and has it's own policing policies. + - "hyrax-webapp/**/*" + +Metrics/BlockLength: + IgnoredMethods: ['included', 'describe', 'it', 'context'] + Exclude: + - "spec/**/*.rb" + +Style/AsciiComments: + Enabled: false + +# rubocop suggests !thing.nil? instead, but that is NOT equivalent +Style/DoubleNegation: + Enabled: false + +Style/CollectionMethods: + PreferredMethods: + collect: 'map' + collect!: 'map!' + inject: 'reduce' + detect: 'find' + find_all: 'select' + +Style/SymbolArray: + Enabled: false + +Style/ClassAndModuleChildren: + Enabled: false + +Style/SingleLineBlockParams: + Enabled: false + +Rails/ApplicationJob: + Enabled: false + +Rails/ApplicationMailer: + Enabled: false + +Rails/ApplicationRecord: + Enabled: false + +Rails/RakeEnvironment: + Enabled: false + +# We define custom methods like `find_by_user_key`, +# `find_by_created_date`, etc +Rails/DynamicFindBy: + Enabled: false + +# # By default RSpec/MessageSpies has the following: +# # Prefer have_received for setting message expectations. Setup form as a spy using allow or instance_spy. +# # The default assumes EnforcedStyle is 'have_received'. Most of our specs are 'receive' +RSpec/MessageSpies: + Enabled: false + +RSpec/ExpectActual: + Enabled: false + +RSpec/LetSetup: + Enabled: false + +RSpec/MessageExpectation: + Enabled: false + +RSpec/NestedGroups: + Enabled: false + +RSpec/LeadingSubject: + Enabled: false diff --git a/Dockerfile b/Dockerfile index 9cb9e52..590e3d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,12 @@ FROM ghcr.io/samvera/hyku/base:latest as hyku-knap-base # This is specifically NOT $APP_PATH but the parent directory COPY --chown=1001:101 . /app/samvera +COPY --chown=1001:101 bundler.d/ /app/.bundler.d/ ENV BUNDLE_LOCAL__HYKU_KNAPSACK=/app/samvera ENV BUNDLE_DISABLE_LOCAL_BRANCH_CHECK=true +RUN bundle install --jobs "$(nproc)" + # Ensure root permissions for installing Tesseract data USER root diff --git a/Gemfile.lock b/Gemfile.lock index fd96a5d..b88a91c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,31 +7,216 @@ GIT aws-sdk-sqs (~> 1) rails (>= 4.2) +GIT + remote: https://github.com/rails/rails.git + revision: 2fcc0052feda9f9287ba9b6f2d2a551021cf0138 + branch: 6-1-stable + specs: + actioncable (6.1.7.7) + actionpack (= 6.1.7.7) + activesupport (= 6.1.7.7) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.7) + actionpack (= 6.1.7.7) + activejob (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) + mail (>= 2.7.1) + actionmailer (6.1.7.7) + actionpack (= 6.1.7.7) + actionview (= 6.1.7.7) + activejob (= 6.1.7.7) + activesupport (= 6.1.7.7) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.7) + actionview (= 6.1.7.7) + activesupport (= 6.1.7.7) + racc + rack (~> 2.0, >= 2.0.9) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.2.0) + actiontext (6.1.7.7) + actionpack (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) + nokogiri (>= 1.8.5) + actionview (6.1.7.7) + activesupport (= 6.1.7.7) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) + activejob (6.1.7.7) + activesupport (= 6.1.7.7) + globalid (>= 0.3.6) + activemodel (6.1.7.7) + activesupport (= 6.1.7.7) + activerecord (6.1.7.7) + activemodel (= 6.1.7.7) + activesupport (= 6.1.7.7) + activestorage (6.1.7.7) + actionpack (= 6.1.7.7) + activejob (= 6.1.7.7) + activerecord (= 6.1.7.7) + activesupport (= 6.1.7.7) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.7) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + rails (6.1.7.7) + actioncable (= 6.1.7.7) + actionmailbox (= 6.1.7.7) + actionmailer (= 6.1.7.7) + actionpack (= 6.1.7.7) + actiontext (= 6.1.7.7) + actionview (= 6.1.7.7) + activejob (= 6.1.7.7) + activemodel (= 6.1.7.7) + activerecord (= 6.1.7.7) + activestorage (= 6.1.7.7) + activesupport (= 6.1.7.7) + bundler (>= 1.15.0) + railties (= 6.1.7.7) + sprockets-rails (>= 2.0.0) + railties (6.1.7.7) + actionpack (= 6.1.7.7) + activesupport (= 6.1.7.7) + method_source + rake (>= 12.2) + thor (~> 1.0) + GIT remote: https://github.com/samvera-labs/hyrax-doi.git - revision: 8fb839af0517096bb05f09925fe1aa77fe32b84a - branch: main + revision: 9b7ab7f8054a14385b838de1118f55ad2e0f5da8 + branch: rails_hyrax_upgrade specs: hyrax-doi (0.2.0) - bolognese (~> 1.8, >= 1.8.6) + bolognese (>= 1.8.6, < 2.0) flipflop (~> 2.3) - hyrax (>= 2.9, < 4.0) - rails (~> 5.2.4, >= 5.2.4.3) + hyrax (>= 2.9, < 6.0) + rails (>= 5.2.4.3, < 8.0) GIT remote: https://github.com/samvera-labs/hyrax-iiif_av.git - revision: 6273f90016c153d2add33f85cc24285d51a25382 - branch: main + revision: 4723b8fd0961fa179caf787532bd7922a44957ec + branch: rails_hyrax_upgrade specs: hyrax-iiif_av (0.2.0) blacklight - hyrax (>= 2.9, < 4.0) + hyrax (>= 3.5, < 6.0) iiif_manifest (> 0.5) - rails (~> 5.1) + rails (>= 5.1, < 8.0) + +GIT + remote: https://github.com/samvera/bulkrax.git + revision: 1048453a4d99a6fba4b10531c2dc3a67a51c4c50 + branch: main + specs: + bulkrax (8.0.0) + bagit (~> 0.4.6) + coderay + denormalize_fields + iso8601 (~> 0.9.0) + kaminari + language_list (~> 1.2, >= 1.2.1) + libxml-ruby (~> 3.2.4) + loofah (>= 2.2.3) + marcel + oai (>= 0.4, < 2.x) + rack (>= 2.0.6) + rails (>= 5.1.6) + rdf (>= 2.0.2, < 4.0) + rubyzip + simple_form + +GIT + remote: https://github.com/samvera/hyrax.git + revision: 946048997c66e57d8e15ddd5fcd3a50931ea310d + branch: double_combo + specs: + hyrax (5.0.0) + active-fedora (~> 14.0) + almond-rails (~> 0.1) + awesome_nested_set (~> 3.1) + blacklight (~> 7.29) + blacklight-gallery (~> 4.0) + breadcrumbs_on_rails (~> 3.0) + browse-everything (>= 0.16, < 2.0) + carrierwave (~> 1.0) + clipboard-rails (~> 1.5) + concurrent-ruby (~> 1.0) + connection_pool (~> 2.4) + draper (~> 4.0) + dry-container (~> 0.11) + dry-events (~> 1.0, >= 1.0.1) + dry-logic (~> 1.5) + dry-monads (~> 1.6) + dry-validation (~> 1.10) + flipflop (~> 2.3) + flot-rails (~> 0.0.6) + font-awesome-rails (~> 4.2) + hydra-derivatives (~> 3.3) + hydra-editor (~> 6.0) + hydra-file_characterization (~> 1.1) + hydra-head (~> 12.0) + hydra-works (>= 0.16) + iiif_manifest (>= 0.3, < 2.0) + json-schema + legato (~> 0.3) + linkeddata + mailboxer (~> 0.12) + nest (~> 3.1) + noid-rails (~> 3.0) + oauth + oauth2 (~> 1.2) + openseadragon + posix-spawn + qa (~> 5.5, >= 5.5.1) + rails (~> 6.1) + rails_autolink (~> 1.1) + rdf-rdfxml + rdf-vocab (~> 3.0) + redis (~> 4.0) + redis-namespace (~> 1.5) + redlock (>= 0.1.2, < 2.0) + reform (~> 2.3) + reform-rails (~> 0.2.0) + retriable (>= 2.9, < 4.0) + sass-rails (~> 6.0) + select2-rails (~> 3.5) + signet + sprockets (~> 3.7) + tinymce-rails (~> 5.10) + valkyrie (~> 3.1.1) + view_component (~> 2.74.1) + +GIT + remote: https://github.com/scientist-softserv/apartment.git + revision: 9ad4b0ef2ee6debb956e86ef9e7095c8358fef5e + branch: development + specs: + apartment (2.2.1) + activerecord (>= 3.1.2, < 7.0) + parallel (>= 0.7.1) + public_suffix (>= 2) + rack (>= 1.3.6) GIT remote: https://github.com/scientist-softserv/iiif_print.git - revision: b39296dc066867a0017f0ab1dbfcf44d7e656e50 + revision: ddf6138187fa7b985f6dfdaef03405c03e4b994a branch: main specs: iiif_print (1.0.0) @@ -60,35 +245,12 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (5.2.8.1) - actionpack (= 5.2.8.1) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailer (5.2.8.1) - actionpack (= 5.2.8.1) - actionview (= 5.2.8.1) - activejob (= 5.2.8.1) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.2.8.1) - actionview (= 5.2.8.1) - activesupport (= 5.2.8.1) - rack (~> 2.0, >= 2.0.8) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.8.1) - activesupport (= 5.2.8.1) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - active-fedora (13.3.0) + active-fedora (14.0.1) active-triples (>= 0.11.0, < 2.0.0) activemodel (>= 5.1) activesupport (>= 5.1) deprecation - faraday (~> 0.12) + faraday (>= 1.0) faraday-encoding (>= 0.0.5) ldp (>= 0.7.0, < 2) rsolr (>= 1.1.2, < 3) @@ -101,44 +263,19 @@ GEM active_encode (0.8.2) rails sprockets (< 4) - activejob (5.2.8.1) - activesupport (= 5.2.8.1) - globalid (>= 0.3.6) - activemodel (5.2.8.1) - activesupport (= 5.2.8.1) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (5.2.8.1) - activemodel (= 5.2.8.1) - activesupport (= 5.2.8.1) - arel (>= 9.0) - activerecord-import (1.5.1) + activerecord-import (1.6.0) activerecord (>= 4.2) activerecord-nulldb-adapter (1.0.1) activerecord (>= 5.2.0, < 7.2) - activestorage (5.2.8.1) - actionpack (= 5.2.8.1) - activerecord (= 5.2.8.1) - marcel (~> 1.0.0) - activesupport (5.2.8.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) almond-rails (0.3.0) rails (>= 4.2) - amazing_print (1.5.0) - apartment (2.2.1) - activerecord (>= 3.1.2, < 6.0) - parallel (>= 0.7.1) - public_suffix (>= 2) - rack (>= 1.3.6) - arel (9.0.0) ast (2.4.2) attr_required (1.0.2) autoprefixer-rails (10.4.16.0) @@ -146,17 +283,16 @@ GEM awesome_nested_set (3.6.0) activerecord (>= 4.0.0, < 7.2) aws-eventstream (1.3.0) - aws-partitions (1.894.0) - aws-sdk-core (3.191.2) + aws-partitions (1.904.0) + aws-sdk-core (3.191.5) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) - base64 jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.77.0) + aws-sdk-kms (1.78.0) aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.143.0) + aws-sdk-s3 (1.146.1) aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) @@ -169,54 +305,66 @@ GEM babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) + backport (1.2.0) bagit (0.4.6) docopt (~> 0.5.0) validatable (~> 1.6) base64 (0.2.0) - bcp47 (0.3.3) - i18n + bcp47_spec (0.2.1) bcrypt (3.1.20) + benchmark (0.3.0) benchmark_methods (0.7) - better_html (1.0.16) - actionview (>= 4.0) - activesupport (>= 4.0) + better_html (2.1.1) + actionview (>= 6.0) + activesupport (>= 6.0) ast (~> 2.0) erubi (~> 1.4) - html_tokenizer (~> 0.0.6) parser (>= 2.4) smart_properties bibtex-ruby (6.1.0) latex-decode (~> 0.0) racc (~> 1.7) - bigdecimal (3.1.6) + bigdecimal (3.1.7) bindata (2.5.0) bindex (0.8.1) - blacklight (6.25.0) - bootstrap-sass (~> 3.2) + bixby (5.0.2) + rubocop (= 1.28.2) + rubocop-ast + rubocop-performance + rubocop-rails + rubocop-rspec + blacklight (7.37.0) deprecation globalid + hashdiff + i18n (>= 1.7.0) jbuilder (~> 2.7) kaminari (>= 0.15) - nokogiri (~> 1.6) - rails (>= 4.2, < 6) - rsolr (>= 1.0.6, < 3) - twitter-typeahead-rails (= 0.11.1.pre.corejavascript) - blacklight-access_controls (0.6.2) - blacklight (~> 6.0) - cancancan (~> 1.8) + ostruct (>= 0.3.2) + rails (>= 5.1, < 7.2) + view_component (>= 2.66, < 4) + blacklight-access_controls (6.0.1) + blacklight (> 6.0, < 8) + cancancan (>= 1.8) deprecation (~> 1.0) - blacklight-gallery (0.12.0) - blacklight (~> 6.3) - bootstrap-sass (~> 3.0) - openseadragon (>= 0.2.0) - rails - blacklight_iiif_search (1.0.0) - blacklight (~> 6.0) + blacklight-gallery (4.4.0) + blacklight (>= 7.17, < 9) + rails (>= 6.1, < 8) + blacklight_advanced_search (7.0.0) + blacklight (~> 7.0) + parslet + blacklight_iiif_search (2.0.0) + blacklight (~> 7.0) iiif-presentation - rails (>= 4.2, < 6) - blacklight_oai_provider (6.1.1) - blacklight (~> 6.0) - oai (~> 1.0) + rails (>= 5.1, < 7) + blacklight_oai_provider (7.0.2) + blacklight (~> 7.0) + oai (~> 1.2) + rexml + blacklight_range_limit (8.5.0) + blacklight (>= 7.25.2, < 9) + deprecation + view_component (>= 2.54, < 4) bolognese (1.11.5) activesupport (>= 4.2.5) benchmark_methods (~> 0.7) @@ -241,11 +389,12 @@ GEM rdf-rdfxml (~> 3.1) rdf-turtle (~> 3.1) thor (>= 0.19) + bootstrap (4.6.2) + autoprefixer-rails (>= 9.1.0) + popper_js (>= 1.16.1, < 2) + sassc-rails (>= 2.0.0) bootstrap-datepicker-rails (1.10.0.1) railties (>= 3.0) - bootstrap-sass (3.4.1) - autoprefixer-rails (>= 5.2.1) - sassc (>= 2.0.0) breadcrumbs_on_rails (3.0.1) browse-everything (1.3.0) addressable (~> 2.5) @@ -258,27 +407,13 @@ GEM signet (~> 0.8) typhoeus builder (3.2.4) - bulkrax (5.5.1) - bagit (~> 0.4) - coderay - iso8601 (~> 0.9.0) - kaminari - language_list (~> 1.2, >= 1.2.1) - libxml-ruby (~> 3.2.4) - loofah (>= 2.2.3) - oai (>= 0.4, < 2.x) - rack (>= 2.0.6) - rails (>= 5.1.6) - rdf (>= 2.0.2, < 4.0) - rubyzip - simple_form byebug (11.1.3) - cancancan (1.17.0) - capybara (3.39.2) + cancancan (3.5.0) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) @@ -294,6 +429,7 @@ GEM carrierwave-aws (1.4.0) aws-sdk-s3 (~> 1.0) carrierwave (>= 0.7, < 2.1) + childprocess (5.0.0) citeproc (1.0.10) namae (~> 1.0) citeproc-ruby (1.1.14) @@ -301,8 +437,7 @@ GEM csl (~> 1.6) clipboard-rails (1.7.1) cocoon (1.2.15) - codemirror-rails (5.16.0) - railties (>= 3.0, < 6.0) + codemirror-rails (0.3.1) coderay (1.1.3) coffee-rails (4.2.2) coffee-script (>= 2.2.0) @@ -331,9 +466,8 @@ GEM database_cleaner-core (2.0.1) date (3.3.4) declarative (0.0.20) - declarative-builder (0.1.0) - declarative-option (< 0.2.0) - declarative-option (0.1.0) + denormalize_fields (1.3.0) + activerecord (>= 4.1.14, < 8.0.0) deprecation (1.1.0) activesupport derivative-rodeo (0.5.3) @@ -355,16 +489,13 @@ GEM devise devise-i18n (1.12.0) devise (>= 4.9.0) - devise_invitable (1.7.5) - actionmailer (>= 4.1.0) - devise (>= 4.0.0) + devise_invitable (2.0.9) + actionmailer (>= 5.0) + devise (>= 4.6) diff-lcs (1.5.1) - disposable (0.4.7) + disposable (0.6.3) declarative (>= 0.0.9, < 1.0.0) - declarative-builder (< 0.2.0) - declarative-option (< 0.2.0) - representable (>= 2.4.0, <= 3.1.0) - uber (< 0.2.0) + representable (>= 3.1.1, < 4) docile (1.4.0) docopt (0.5.0) draper (4.0.2) @@ -374,110 +505,130 @@ GEM activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords + drb (2.2.1) dropbox_api (0.1.21) faraday (< 3.0) oauth2 (~> 1.1) - dry-configurable (0.16.1) - dry-core (~> 0.6) + dry-configurable (1.1.0) + dry-core (~> 1.0, < 2) zeitwerk (~> 2.6) dry-container (0.11.0) concurrent-ruby (~> 1.0) - dry-core (0.9.1) + dry-core (1.0.1) concurrent-ruby (~> 1.0) zeitwerk (~> 2.6) - dry-equalizer (0.3.0) - dry-events (0.2.0) + dry-events (1.0.1) concurrent-ruby (~> 1.0) - dry-core (~> 0.4) - dry-equalizer (~> 0.2) - dry-inflector (0.3.0) + dry-core (~> 1.0, < 2) + dry-inflector (1.0.0) dry-initializer (3.1.1) - dry-logic (1.3.0) + dry-logic (1.5.0) concurrent-ruby (~> 1.0) - dry-core (~> 0.9, >= 0.9) + dry-core (~> 1.0, < 2) zeitwerk (~> 2.6) - dry-matcher (0.9.0) - dry-core (~> 0.4, >= 0.4.8) - dry-monads (1.4.0) + dry-monads (1.6.0) concurrent-ruby (~> 1.0) - dry-core (~> 0.7) - dry-schema (1.11.3) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-schema (1.13.3) concurrent-ruby (~> 1.0) - dry-configurable (~> 0.16, >= 0.16) - dry-core (~> 0.9, >= 0.9) + dry-configurable (~> 1.0, >= 1.0.1) + dry-core (~> 1.0, < 2) dry-initializer (~> 3.0) - dry-logic (~> 1.3) - dry-types (~> 1.6) + dry-logic (>= 1.4, < 2) + dry-types (>= 1.7, < 2) zeitwerk (~> 2.6) - dry-struct (1.5.2) - dry-core (~> 0.9, >= 0.9) - dry-types (~> 1.6) + dry-struct (1.6.0) + dry-core (~> 1.0, < 2) + dry-types (>= 1.7, < 2) ice_nine (~> 0.11) zeitwerk (~> 2.6) - dry-transaction (0.13.3) - dry-container (>= 0.2.8) - dry-events (>= 0.1.0) - dry-matcher (>= 0.7.0) - dry-monads (>= 0.4.0) - dry-types (1.6.1) + dry-types (1.7.2) + bigdecimal (~> 3.0) concurrent-ruby (~> 1.0) - dry-container (~> 0.3) - dry-core (~> 0.9, >= 0.9) - dry-inflector (~> 0.1, >= 0.1.2) - dry-logic (~> 1.3, >= 1.3) + dry-core (~> 1.0) + dry-inflector (~> 1.0) + dry-logic (~> 1.4) zeitwerk (~> 2.6) - dry-validation (1.9.0) + dry-validation (1.10.0) concurrent-ruby (~> 1.0) - dry-container (~> 0.7, >= 0.7.1) - dry-core (~> 0.9, >= 0.9) + dry-core (~> 1.0, < 2) dry-initializer (~> 3.0) - dry-schema (~> 1.11, >= 1.11.0) + dry-schema (>= 1.12, < 2) zeitwerk (~> 2.6) + e2mmap (0.1.0) easy_translate (0.5.1) thread thread_safe - ebnf (2.2.1) - amazing_print (~> 1.2) + ebnf (2.5.0) htmlentities (~> 4.3) - rdf (~> 3.1) + rdf (~> 3.3) scanf (~> 1.0) - sxp (~> 1.1) - unicode-types (~> 1.6) + sxp (~> 2.0) + unicode-types (~> 1.8) edtf (3.1.1) activesupport (>= 3.0, < 8.0) + email_validator (2.2.4) + activemodel equivalent-xml (0.6.0) nokogiri (>= 1.4.3) erubi (1.12.0) + et-orbi (1.2.11) + tzinfo ethon (0.16.0) ffi (>= 1.15.0) excon (0.71.1) execjs (2.9.1) - factory_bot (6.4.5) + factory_bot (6.4.6) activesupport (>= 5.0.0) factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (0.17.6) - multipart-post (>= 1.2, < 3) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) faraday-encoding (0.0.5) faraday - faraday_middleware (0.14.0) - faraday (>= 0.7.4, < 1.0) + faraday-excon (2.1.0) + excon (>= 0.27.4) + faraday (~> 2.0) + faraday-follow_redirects (0.3.0) + faraday (>= 1, < 3) + faraday-gzip (0.1.0) + faraday (>= 1.0) + zlib (~> 2.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (3.1.0) + net-http fcrepo_wrapper (0.9.0) ruby-progressbar ffi (1.16.3) - flipflop (2.6.0) + flipflop (2.7.1) activesupport (>= 4.0) + terminal-table (>= 1.8) flot-rails (0.0.7) jquery-rails flutie (2.2.0) font-awesome-rails (4.7.0.8) railties (>= 3.2, < 8.0) + fugit (1.10.1) + et-orbi (~> 1, >= 1.2.7) + raabro (~> 1.4) gender_detector (0.1.2) unicode_utils (>= 1.3.0) + geo_coord (0.2.0) geocoder (1.8.2) - globalid (1.1.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) + good_job (2.99.0) + activejob (>= 5.2.0) + activerecord (>= 5.2.0) + concurrent-ruby (>= 1.0.2) + fugit (>= 1.1) + railties (>= 5.2.0) + thor (>= 0.14.1) + webrick (>= 1.3) + zeitwerk (>= 2.0) google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) @@ -494,55 +645,54 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) - haml (5.2.2) - temple (>= 0.8.0) + haml (6.3.0) + temple (>= 0.8.2) + thor tilt - hamster (3.0.0) - concurrent-ruby (~> 1.0) hashdiff (1.1.0) hashie (5.0.0) - highline (2.1.0) + highline (3.0.1) hiredis (0.6.3) - html_tokenizer (0.0.7) htmlentities (4.3.4) http_logger (0.7.0) httparty (0.21.0) mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) httpclient (2.8.3) - hydra-access-controls (11.0.7) + hydra-access-controls (12.1.0) active-fedora (>= 10.0.0) - activesupport (>= 4, < 6) - blacklight (>= 5.16) - blacklight-access_controls (~> 0.6.0) - cancancan (~> 1.8) + activesupport (>= 5.2, < 7.1) + blacklight-access_controls (~> 6.0) + cancancan (>= 1.8, < 4) deprecation (~> 1.0) - hydra-core (11.0.7) - hydra-access-controls (= 11.0.7) - railties (>= 4.0.0, < 6) - hydra-derivatives (3.7.0) - active-fedora (>= 11.5.6, != 13.2.1, != 13.2.0, != 13.1.3, != 13.1.2, != 13.1.1, != 13.1.0, != 13.0.0, != 12.2.1, != 12.2.0, != 12.1.1, != 12.1.0, != 12.0.3, != 12.0.2, != 12.0.1, != 12.0.0) + hydra-core (12.1.0) + hydra-access-controls (= 12.1.0) + railties (>= 5.2, < 7.1) + hydra-derivatives (3.8.0) + active-fedora (>= 14.0) + active-triples (>= 1.2) active_encode (~> 0.1) - activesupport (>= 4.0, < 7) + activesupport (>= 4.0, < 7.1) addressable (~> 2.5) deprecation mime-types (> 2.0, < 4.0) mini_magick (>= 3.2, < 5) - hydra-editor (5.0.5) + hydra-editor (6.2.0) active-fedora (>= 9.0.0) - activerecord (~> 5.0) + activerecord (>= 5.2, < 7.1) almond-rails (~> 0.1) - cancancan (~> 1.8) - rails (>= 5, < 6) - simple_form (>= 4.1.0, < 6.0) - sprockets (~> 3.7) + cancancan + psych (~> 3.3, < 4) + rails (>= 5.2, < 7.1) + simple_form (>= 4.1.0, < 5.2) + sprockets (>= 3.7) sprockets-es6 - hydra-file_characterization (1.1.2) + hydra-file_characterization (1.2.0) activesupport (>= 3.0.0) - hydra-head (11.0.7) - hydra-access-controls (= 11.0.7) - hydra-core (= 11.0.7) - rails (>= 5.2, < 6.1) + hydra-head (12.1.0) + hydra-access-controls (= 12.1.0) + hydra-core (= 12.1.0) + rails (>= 5.2, < 7.1) hydra-pcdm (1.3.0) active-fedora (>= 10, < 15) mime-types (>= 1) @@ -552,126 +702,67 @@ GEM hydra-derivatives (~> 3.6) hydra-file_characterization (~> 1.0) hydra-pcdm (>= 0.9) - hyrax (3.5.0) - active-fedora (~> 13.1, >= 13.1.2) - almond-rails (~> 0.1) - awesome_nested_set (~> 3.1) - blacklight (~> 6.14) - blacklight-gallery (~> 0.7) - breadcrumbs_on_rails (~> 3.0) - browse-everything (>= 0.16, < 2.0) - carrierwave (~> 1.0) - clipboard-rails (~> 1.5) - draper (~> 4.0) - dry-equalizer (~> 0.2) - dry-events (~> 0.2.0) - dry-monads (< 1.5) - dry-struct (~> 1.0) - dry-transaction (~> 0.11) - dry-validation (~> 1.3) - flipflop (~> 2.3) - flot-rails (~> 0.0.6) - font-awesome-rails (~> 4.2) - hydra-derivatives (~> 3.3) - hydra-editor (~> 5.0, >= 5.0.4) - hydra-file_characterization (~> 1.1.2) - hydra-head (~> 11.0, >= 11.0.1) - hydra-works (>= 0.16) - iiif_manifest (>= 0.3, < 2.0) - jquery-datatables-rails (~> 3.4) - jquery-ui-rails (~> 6.0) - json-ld (< 3.2) - json-schema - kaminari_route_prefix (~> 0.1.1) - legato (~> 0.3) - linkeddata - mailboxer (~> 0.12) - nest (~> 3.1) - noid-rails (~> 3.0.0) - oauth - oauth2 (~> 1.2) - posix-spawn - power_converter (~> 0.1, >= 0.1.2) - psych (~> 3.3) - qa (~> 5.5, >= 5.5.1) - rails (~> 5.0) - rails_autolink (~> 1.1) - rdf-rdfxml - rdf-vocab (~> 3.0) - redis (~> 4.0) - redis-namespace (~> 1.5) - redlock (>= 0.1.2) - reform (~> 2.3) - reform-rails (~> 0.2.0) - retriable (>= 2.9, < 4.0) - samvera-nesting_indexer (~> 2.0) - sass-rails (~> 5.0) - select2-rails (~> 3.5) - signet - tinymce-rails (~> 5.10) - valkyrie (~> 2, >= 2.1.1) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) i18n-debug (1.2.0) i18n (< 2) - i18n-tasks (1.0.12) + i18n-tasks (1.0.13) activesupport (>= 4.0.2) ast (>= 2.1.0) better_html (>= 1.0, < 3.0) erubi highline (>= 2.0.0) i18n - parser (>= 2.2.3.0) + parser (>= 3.2.2.1) rails-i18n rainbow (>= 2.2.2, < 4.0) terminal-table (>= 1.5.1) ice_nine (0.11.2) - iiif-presentation (1.1.0) + iiif-image-api (0.2.0) + activesupport + iiif-presentation (1.3.0) activesupport (>= 3.2.18) - faraday (>= 0.9) + faraday (~> 2.7) + geo_coord json iiif_manifest (1.4.0) activesupport (>= 4) iso-639 (0.3.6) iso8601 (0.9.1) + jaro_winkler (1.5.6) jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) jmespath (1.6.2) - jquery-datatables-rails (3.4.0) - actionpack (>= 3.1) - jquery-rails - railties (>= 3.1) - sass-rails jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (6.0.1) - railties (>= 3.2.16) json (2.7.1) json-canonicalization (0.3.1) - json-jwt (1.15.3) + json-jwt (1.16.6) activesupport (>= 4.2) aes_key_wrap + base64 bindata - httpclient - json-ld (3.1.10) + faraday (~> 2.0) + faraday-follow_redirects + json-ld (3.2.4) htmlentities (~> 4.3) - json-canonicalization (~> 0.2) + json-canonicalization (~> 0.3) link_header (~> 0.0, >= 0.0.8) - multi_json (~> 1.14) - rack (~> 2.0) - rdf (~> 3.1) - json-ld-preloaded (3.1.6) - json-ld (~> 3.1) - rdf (~> 3.1) - json-schema (4.1.1) + multi_json (~> 1.15) + rack (>= 2.2, < 4) + rdf (~> 3.2, >= 3.2.10) + json-ld-preloaded (3.2.2) + json-ld (~> 3.2) + rdf (~> 3.2) + json-schema (4.3.0) addressable (>= 2.8) jsonlint (0.3.0) oj (~> 3) optimist (~> 3) - jwt (2.8.0) + jwt (2.8.1) base64 kaminari (1.2.2) activesupport (>= 4.1.0) @@ -685,25 +776,23 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - kaminari_route_prefix (0.1.1) - kaminari (~> 1.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) language_list (1.2.1) latex-decode (0.4.0) - launchy (2.5.2) + launchy (3.0.0) addressable (~> 2.8) - ld-patch (3.1.3) - ebnf (~> 2.1) - rdf (~> 3.1) - rdf-xsd (~> 3.1) - sparql (~> 3.1) - sxp (~> 1.1) - ldp (1.0.3) + childprocess (~> 5.0) + ldp (1.2.0) deprecation - faraday + faraday (>= 1) http_logger - json-ld - rdf (>= 1.1) + json-ld (~> 3.2) + rdf (~> 3.2) rdf-isomorphic + rdf-ldp rdf-turtle rdf-vocab (>= 0.8) slop @@ -716,37 +805,26 @@ GEM multi_json libxml-ruby (3.2.4) link_header (0.0.8) - linkeddata (3.1.6) - equivalent-xml (~> 0.6) - json-ld (~> 3.1, >= 3.1.10) - json-ld-preloaded (~> 3.1, >= 3.1.6) - ld-patch (~> 3.1, >= 3.1.3) - nokogiri (~> 1.12) - rdf (~> 3.1, >= 3.1.15) - rdf-aggregate-repo (~> 3.1) - rdf-isomorphic (~> 3.1, >= 3.1.1) - rdf-json (~> 3.1) - rdf-microdata (~> 3.1, >= 3.1.4) - rdf-n3 (~> 3.1, >= 3.1.2) - rdf-normalize (~> 0.4) - rdf-ordered-repo (~> 3.1, >= 3.1.1) - rdf-rdfa (~> 3.1, >= 3.1.3) - rdf-rdfxml (~> 3.1, >= 3.1.1) - rdf-reasoner (~> 0.7, >= 0.7.2) - rdf-tabular (~> 3.1, >= 3.1.1) - rdf-trig (~> 3.1, >= 3.1.2) - rdf-trix (~> 3.1, >= 3.1.1) - rdf-turtle (~> 3.1, >= 3.1.3) - rdf-vocab (~> 3.1, >= 3.1.14) - rdf-xsd (~> 3.1, >= 3.1.1) - shacl (~> 0.1, >= 0.1.1) - shex (~> 0.6, >= 0.6.4) - sparql (~> 3.1, >= 3.1.8) - sparql-client (~> 3.1, >= 3.1.2) - listen (3.1.5) + linkeddata (1.1.1) + equivalent-xml (>= 0.4.0) + json-ld (>= 1.1.1) + nokogiri (>= 1.6.1) + rdf (>= 1.1.1) + rdf-aggregate-repo (>= 1.1.0) + rdf-isomorphic (>= 1.1.0) + rdf-json (>= 1.1.0) + rdf-microdata (>= 1.1.1) + rdf-n3 (>= 1.1.0) + rdf-rdfa (>= 1.1.1) + rdf-rdfxml (>= 1.1.0) + rdf-trig (>= 1.1.2) + rdf-trix (>= 1.1.0) + rdf-turtle (>= 1.1.2) + sparql (>= 1.1.2) + sparql-client (>= 1.1.1) + listen (3.0.8) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) logger (1.6.0) lograge (0.14.0) actionpack (>= 4) @@ -764,27 +842,30 @@ GEM mailboxer (0.15.1) carrierwave (>= 0.5.8) rails (>= 5.0.0) - marcel (1.0.2) - maremma (4.9.8) + marcel (1.0.4) + maremma (4.9.9) activesupport (>= 4.2.5) addressable (>= 2.3.6) builder (~> 3.2, >= 3.2.2) excon (~> 0.71.0) - faraday (~> 0.17.3) - faraday-encoding (~> 0.0.4) - faraday_middleware (~> 0.14.0) - nokogiri (>= 1.11.2, < 1.14.0) + faraday (>= 2.0) + faraday-encoding (~> 0.0.5) + faraday-excon (~> 2.1.0) + faraday-follow_redirects (~> 0.3.0) + faraday-gzip (~> 0.1.0) + faraday-multipart (~> 1.0.4) + nokogiri (>= 1.13.1, < 1.14.0) oj (>= 2.8.3) oj_mimic_json (~> 1.0, >= 1.0.1) matrix (0.4.2) method_source (1.0.0) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0206) + mime-types-data (3.2024.0305) mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.22.2) + minitest (5.22.3) mods (2.4.1) edtf iso-639 @@ -793,6 +874,7 @@ GEM multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.4.0) + mutex_m (0.2.0) namae (1.2.0) racc (~> 1.7) negative_captcha (0.5) @@ -800,6 +882,8 @@ GEM activesupport nest (3.2.0) redic + net-http (0.4.1) + uri net-http-persistent (4.0.2) connection_pool (~> 2.2) net-imap (0.4.10) @@ -809,12 +893,12 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0.1) + net-smtp (0.5.0) net-protocol - nio4r (2.7.0) + nio4r (2.7.1) noid (0.9.0) - noid-rails (3.0.3) - actionpack (>= 5.0.0, < 7) + noid-rails (3.1.0) + actionpack (>= 5.0.0, < 7.1) noid (~> 0.9) nokogiri (1.13.10) mini_portile2 (~> 2.8.0) @@ -822,10 +906,10 @@ GEM nom-xml (1.2.0) i18n nokogiri - oai (1.1.0) + oai (1.2.1) builder (>= 3.1.0) - faraday - faraday_middleware + faraday (< 3) + faraday-follow_redirects (>= 0.3.0, < 2) oauth (1.1.0) oauth-tty (~> 1.0, >= 1.0.1) snaky_hash (~> 2.0) @@ -854,37 +938,42 @@ GEM omniauth-saml (2.1.0) omniauth (~> 2.0) ruby-saml (~> 1.12) - omniauth_openid_connect (0.6.1) + omniauth_openid_connect (0.7.1) omniauth (>= 1.9, < 3) - openid_connect (~> 1.1) - openid_connect (1.4.2) + openid_connect (~> 2.2) + openid_connect (2.3.0) activemodel attr_required (>= 1.0.0) - json-jwt (>= 1.15.0) - net-smtp - rack-oauth2 (~> 1.21) - swd (~> 1.3) + email_validator + faraday (~> 2.0) + faraday-follow_redirects + json-jwt (>= 1.16) + mail + rack-oauth2 (~> 2.2) + swd (~> 2.0) tzinfo - validate_email validate_url - webfinger (~> 1.2) + webfinger (~> 2.0) openseadragon (0.6.0) rails (> 3.2.0) optimist (3.1.0) + order_already (0.3.1) + rails-html-sanitizer (~> 1.4) orm_adapter (0.5.0) os (1.1.4) + ostruct (0.6.0) parallel (1.24.0) - parser (2.5.3.0) - ast (~> 2.4.0) + parser (3.3.0.5) + ast (~> 2.4.1) + racc parslet (2.0.0) - pg (1.5.5) + pg (1.5.6) + popper_js (1.16.1) posix-spawn (0.3.15) postrank-uri (1.1) addressable (>= 2.4.0) nokogiri (>= 1.8.0) public_suffix (>= 4.0.0, < 5) - power_converter (0.1.2) - powerpack (0.1.3) pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) @@ -904,12 +993,14 @@ GEM nokogiri (~> 1.6) rails (>= 5.0, < 7.2) rdf + raabro (1.4.0) racc (1.7.3) - rack (2.2.8) - rack-oauth2 (1.21.3) + rack (2.2.9) + rack-oauth2 (2.2.1) activesupport attr_required - httpclient + faraday (~> 2.0) + faraday-follow_redirects json-jwt (>= 1.11.0) rack (>= 2.1.0) rack-protection (3.2.0) @@ -917,19 +1008,6 @@ GEM rack (~> 2.2, >= 2.2.4) rack-test (0.7.0) rack (>= 1.0, < 3) - rails (5.2.8.1) - actioncable (= 5.2.8.1) - actionmailer (= 5.2.8.1) - actionpack (= 5.2.8.1) - actionview (= 5.2.8.1) - activejob (= 5.2.8.1) - activemodel (= 5.2.8.1) - activerecord (= 5.2.8.1) - activestorage (= 5.2.8.1) - activesupport (= 5.2.8.1) - bundler (>= 1.3.0) - railties (= 5.2.8.1) - sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -940,85 +1018,68 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) - rails-i18n (5.1.3) + rails-i18n (7.0.9) i18n (>= 0.7, < 2) - railties (>= 5.0, < 6) + railties (>= 6.0.0, < 8) rails_autolink (1.1.8) actionview (> 3.1) activesupport (> 3.1) railties (> 3.1) - railties (5.2.8.1) - actionpack (= 5.2.8.1) - activesupport (= 5.2.8.1) - method_source - rake (>= 0.8.7) - thor (>= 0.19.0, < 2.0) rainbow (3.1.1) rake (13.1.0) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rdf (3.1.15) - hamster (~> 3.0) + rdf (3.3.1) + bcp47_spec (~> 0.2) link_header (~> 0.0, >= 0.0.8) - rdf-aggregate-repo (3.1.0) - rdf (~> 3.1) - rdf-isomorphic (3.1.1) - rdf (~> 3.1) - rdf-json (3.1.0) - rdf (~> 3.1) - rdf-microdata (3.1.4) + rdf-aggregate-repo (3.3.0) + rdf (~> 3.3) + rdf-isomorphic (3.3.0) + rdf (~> 3.3) + rdf-json (3.3.0) + rdf (~> 3.3) + rdf-ldp (0.1.0) + deprecation + rdf + rdf-microdata (3.2.1) htmlentities (~> 4.3) - nokogiri (~> 1.12) - rdf (~> 3.1, >= 3.1.13) - rdf-rdfa (~> 3.1, >= 3.1.3) - rdf-xsd (~> 3.1) - rdf-n3 (3.1.2) - ebnf (~> 2.1) - rdf (~> 3.1, >= 3.1.8) - sparql (~> 3.1, >= 3.1.4) - sxp (~> 1.1) - rdf-normalize (0.4.0) - rdf (~> 3.1) - rdf-ordered-repo (3.1.1) - rdf (~> 3.1) - rdf-rdfa (3.1.3) - haml (~> 5.2) + nokogiri (~> 1.13) + rdf (~> 3.2) + rdf-rdfa (~> 3.2) + rdf-xsd (~> 3.2) + rdf-n3 (3.0.1) + rdf (~> 3.0) + rdf-rdfa (3.3.0) + haml (~> 6.1) htmlentities (~> 4.3) - rdf (~> 3.1, >= 3.1.13) - rdf-aggregate-repo (~> 3.1) - rdf-vocab (~> 3.1, >= 3.1.11) - rdf-xsd (~> 3.1) - rdf-rdfxml (3.1.1) + rdf (~> 3.3) + rdf-aggregate-repo (~> 3.3) + rdf-vocab (~> 3.3) + rdf-xsd (~> 3.3) + rdf-rdfxml (3.3.0) + builder (~> 3.2, >= 3.2.4) htmlentities (~> 4.3) - rdf (~> 3.1) - rdf-rdfa (~> 3.1) - rdf-xsd (~> 3.1) - rdf-reasoner (0.7.2) - rdf (~> 3.1, >= 3.1.12) - rdf-xsd (~> 3.1) - rdf-tabular (3.1.1) - addressable (~> 2.3) - bcp47 (~> 0.3, >= 0.3.3) - json-ld (~> 3.1) - rdf (~> 3.1) - rdf-vocab (~> 3.1) - rdf-xsd (~> 3.1) - rdf-trig (3.1.2) - ebnf (~> 2.1) - rdf (~> 3.1) - rdf-turtle (~> 3.1) - rdf-trix (3.1.1) - rdf (~> 3.1) - rdf-xsd (~> 3.1) - rdf-turtle (3.1.3) - ebnf (~> 2.1) - rdf (~> 3.1, >= 3.1.8) - rdf-vocab (3.1.14) - rdf (~> 3.1, >= 3.1.12) - rdf-xsd (3.1.1) - rdf (~> 3.1) + rdf (~> 3.3) + rdf-xsd (~> 3.3) + rdf-trig (3.3.0) + ebnf (~> 2.4) + rdf (~> 3.3) + rdf-turtle (~> 3.3) + rdf-trix (3.3.0) + rdf (~> 3.3) + rdf-xsd (~> 3.3) + rdf-turtle (3.3.1) + base64 (~> 0.2) + bigdecimal (~> 3.1, >= 3.1.5) + ebnf (~> 2.5) + rdf (~> 3.3) + rdf-vocab (3.3.0) + rdf (~> 3.3) + rdf-xsd (3.3.0) + rdf (~> 3.3) rexml (~> 3.2) + redcarpet (3.6.0) redic (1.5.3) hiredis redis (4.8.1) @@ -1026,17 +1087,17 @@ GEM redis (>= 4) redlock (1.3.2) redis (>= 3.0.0, < 6.0) - reform (2.5.0) - disposable (>= 0.4.2, < 0.5.0) - representable (>= 2.4.0, < 3.1.0) + reform (2.6.2) + disposable (>= 0.5.0, < 1.0.0) + representable (>= 3.1.1, < 4) uber (< 0.2.0) reform-rails (0.2.6) activemodel (>= 5.0) reform (>= 2.3.1, < 3.0.0) regexp_parser (2.9.0) - representable (3.0.4) + representable (3.2.0) declarative (< 0.1.0) - declarative-option (< 0.2.0) + trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) request_store (1.6.0) rack (>= 1.4) @@ -1044,12 +1105,15 @@ GEM actionpack (>= 5.2) railties (>= 5.2) retriable (3.1.2) + reverse_markdown (2.1.1) + nokogiri rexml (3.2.6) - riiif (1.7.1) + riiif (2.5.0) deprecation (>= 1.0.0) - railties (>= 4.2, < 6) + iiif-image-api (>= 0.1.0) + railties (>= 4.2, < 8) rolify (6.0.1) - rsolr (2.5.0) + rsolr (2.6.0) builder (>= 2.1.2) faraday (>= 0.9, < 3, != 2.0.0) rspec (3.13.0) @@ -1071,26 +1135,37 @@ GEM rspec-mocks (3.13.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (5.1.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - railties (>= 5.2) - rspec-core (~> 3.10) - rspec-expectations (~> 3.10) - rspec-mocks (~> 3.10) - rspec-support (~> 3.10) + rspec-rails (6.1.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + railties (>= 6.1) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.13.0) + rspec-support (3.13.1) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (0.52.1) + rubocop (1.28.2) parallel (~> 1.10) - parser (>= 2.4.0.2, < 3.0) - powerpack (~> 0.1) + parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.17.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (~> 1.0, >= 1.0.1) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.31.2) + parser (>= 3.3.0.4) + rubocop-performance (1.19.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rails (2.15.2) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.7.0, < 2.0) rubocop-rspec (1.22.2) rubocop (>= 0.52.1) ruby-box (1.15.0) @@ -1103,23 +1178,22 @@ GEM nokogiri (>= 1.13.10) rexml ruby2_keywords (0.0.5) - ruby_dep (1.5.0) rubyzip (2.3.2) - samvera-nesting_indexer (2.0.0) - dry-equalizer sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.1.0) - railties (>= 5.2.0) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt scanf (1.0.0) scss_lint (0.60.0) sass (~> 3.5, >= 3.5.5) @@ -1129,20 +1203,6 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - shacl (0.1.1) - json-ld (~> 3.1, >= 3.1.7) - rdf (~> 3.1, >= 3.1.8) - sparql (~> 3.1) - sxp (~> 1.1) - shex (0.6.4) - ebnf (~> 2.1, >= 2.2) - htmlentities (~> 4.3) - json-ld (~> 3.1) - json-ld-preloaded (~> 3.1) - rdf (~> 3.1) - rdf-xsd (~> 3.1) - sparql (~> 3.1) - sxp (~> 1.1) shoulda-matchers (4.5.1) activesupport (>= 4.2.0) sidekiq (6.5.12) @@ -1154,7 +1214,7 @@ GEM faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simple_form (5.3.0) + simple_form (5.1.0) actionpack (>= 5.2) activemodel (>= 5.2) simplecov (0.22.0) @@ -1168,28 +1228,44 @@ GEM snaky_hash (2.0.1) hashie version_gem (~> 1.1, >= 1.1.1) + solargraph (0.48.0) + backport (~> 1.2) + benchmark + bundler (>= 1.17.2) + diff-lcs (~> 1.4) + e2mmap + jaro_winkler (~> 1.5) + kramdown (~> 2.3) + kramdown-parser-gfm (~> 1.1) + parser (~> 3.0) + reverse_markdown (>= 1.0.5, < 3) + rubocop (>= 0.52) + thor (~> 1.0) + tilt (~> 2.0) + yard (~> 0.9, >= 0.9.24) solr_wrapper (2.2.0) faraday retriable ruby-progressbar rubyzip - sparql (3.1.8) - builder (~> 3.2) - ebnf (~> 2.1) - logger (~> 1.4) - rdf (~> 3.1, >= 3.1.14) - rdf-aggregate-repo (~> 3.1) - rdf-xsd (~> 3.1) - sparql-client (~> 3.1, >= 3.1.2) - sxp (~> 1.1) - sparql-client (3.1.2) - net-http-persistent (~> 4.0, >= 4.0.1) - rdf (~> 3.1) + sparql (3.3.1) + builder (~> 3.2, >= 3.2.4) + ebnf (~> 2.5) + logger (~> 1.5) + rdf (~> 3.3) + rdf-aggregate-repo (~> 3.3) + rdf-xsd (~> 3.3) + sparql-client (~> 3.3) + sxp (~> 2.0) + sparql-client (3.3.0) + net-http-persistent (~> 4.0, >= 4.0.2) + rdf (~> 3.3) spring (1.7.2) spring-watcher-listen (2.0.1) listen (>= 2.7, < 4.0) spring (>= 1.2, < 3.0) - sprockets (3.7.2) + sprockets (3.7.3) + base64 concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-es6 (0.9.2) @@ -1201,26 +1277,29 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) ssrf_filter (1.0.8) - swd (1.3.0) + swd (2.0.3) activesupport (>= 3) attr_required (>= 0.0.5) - httpclient (>= 2.4) - sxp (1.1.0) - rdf (~> 3.1) + faraday (~> 2.0) + faraday-follow_redirects + sxp (2.0.0) + matrix (~> 0.4) + rdf (~> 3.3) temple (0.10.3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - terser (1.2.0) + terser (1.2.1) execjs (>= 0.3.0, < 3) tether-rails (1.4.0) rails (>= 3.1) - thor (1.3.0) + thor (1.3.1) thread (0.2.2) thread_safe (0.3.6) tilt (2.3.0) timeout (0.4.1) tinymce-rails (5.10.9) railties (>= 3.1.1) + trailblazer-option (0.1.2) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) @@ -1230,27 +1309,24 @@ GEM railties (>= 3.1) typhoeus (1.4.1) ethon (>= 0.9.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uber (0.1.0) - unicode-display_width (1.8.0) + unicode-display_width (2.5.0) unicode-types (1.9.0) unicode_utils (1.4.0) + uri (0.13.0) validatable (1.6.7) - validate_email (0.1.6) - activemodel (>= 3.0) - mail (>= 2.2.5) validate_url (1.0.15) activemodel (>= 3.0.0) public_suffix - valkyrie (2.2.0) + valkyrie (3.1.4) activemodel activesupport - disposable (~> 0.4.5) - draper dry-struct dry-types (~> 1.0) - faraday (< 1.0) + faraday (>= 0.9, < 3, != 2.0.0) + faraday-multipart json json-ld railties @@ -1258,48 +1334,62 @@ GEM rdf-vocab reform (~> 2.2) reform-rails - version_gem (1.1.3) + version_gem (1.1.4) + view_component (2.74.1) + activesupport (>= 5.0.0, < 8.0) + concurrent-ruby (~> 1.0) + method_source (~> 1.0) warden (1.2.9) rack (>= 2.0.9) - web-console (3.7.0) - actionview (>= 5.0) - activemodel (>= 5.0) + web-console (4.2.1) + actionview (>= 6.0.0) + activemodel (>= 6.0.0) bindex (>= 0.4.0) - railties (>= 5.0) + railties (>= 6.0.0) webdrivers (4.7.0) nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (> 3.141, < 5.0) - webfinger (1.2.0) + webfinger (2.1.3) activesupport - httpclient (>= 2.4) - webmock (3.21.2) + faraday (~> 2.0) + faraday-follow_redirects + webmock (3.23.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.8.1) websocket (1.2.10) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) + yard (0.9.36) zeitwerk (2.6.13) + zlib (2.1.1) PLATFORMS + aarch64-linux-musl ruby + x86_64-linux-musl DEPENDENCIES - active-fedora (>= 11.1.4) + active-fedora (~> 14.0) active_elastic_job! activerecord-nulldb-adapter addressable (= 2.8.1) - apartment + apartment! aws-sdk-sqs - blacklight (~> 6.7) - blacklight_oai_provider (~> 6.1, >= 6.1.1) + bixby (~> 5.0, >= 5.0.2) + blacklight (~> 7.29) + blacklight_advanced_search + blacklight_oai_provider (~> 7.0) + blacklight_range_limit bolognese (>= 1.9.10) + bootstrap (~> 4.6) bootstrap-datepicker-rails - bulkrax (~> 5.3) + bulkrax! byebug capybara capybara-screenshot (~> 1.0) @@ -1311,15 +1401,16 @@ DEPENDENCIES devise devise-guests (~> 0.3) devise-i18n - devise_invitable (~> 1.6) - dry-monads (~> 1.4.0) + devise_invitable (~> 2.0) + dry-monads (~> 1.5) easy_translate factory_bot_rails fcrepo_wrapper (~> 0.4) - flipflop (~> 2.6.0) flutie + good_job (~> 2.99) + googleauth (= 1.8.1) hyku_knapsack! - hyrax (~> 3.5.0) + hyrax! hyrax-doi! hyrax-iiif_av! i18n-debug @@ -1339,17 +1430,20 @@ DEPENDENCIES omniauth-rails_csrf_protection (~> 1.0) omniauth-saml (~> 2.1) omniauth_openid_connect - parser (~> 2.5.3) + order_already + parser (>= 3.1.0.0) pg postrank-uri (>= 1.0.24) pry-byebug puma (~> 5.6) rack-test (= 0.7.0) - rails (~> 5.2.5) + rails (~> 6.0)! rails-controller-testing - rdf (~> 3.1.15) + rdf (~> 3.2) + redcarpet + redis-namespace (~> 1.10) redlock (>= 0.1.2, < 2.0) - riiif (~> 1.1) + riiif (~> 2.0) rolify rsolr (~> 2.0) rspec @@ -1358,24 +1452,28 @@ DEPENDENCIES rspec-rails (>= 3.6.0) rspec-retry rspec_junit_formatter - rubocop (~> 0.50, <= 0.52.1) + rubocop (= 1.28.2) + rubocop-rails (~> 2.15) rubocop-rspec (~> 1.22, <= 1.22.2) - sass-rails (~> 5.0) + sass-rails (~> 6.0) scss_lint secure_headers selenium-webdriver (= 4.8.1) shoulda-matchers (~> 4.0) sidekiq (< 7.0) simplecov + solargraph solr_wrapper (~> 2.0) spring (~> 1.7) spring-watcher-listen (~> 2.0.0) terser tether-rails turbolinks (~> 5) + twitter-typeahead-rails (= 0.11.1.pre.corejavascript) + valkyrie (~> 3.0, >= 3.1.4) web-console (>= 3.3.0) webdrivers (~> 4.7.0) webmock BUNDLED WITH - 2.1.4 + 2.4.21 diff --git a/README.md b/README.md index ad7ea31..51e0814 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,9 @@ Theme files (views, css, etc) can be added in the the Knapsack. We recommend add ### Gems -It can be useful to add additional gems to the bundle. This can be done w/o editing Hyku by adding them to the [./bundler.d/example.rb](./bundler.d/example.rb]. [See the bundler-inject documentation for more details] on overriding and adding gems. +It can be useful to add additional gems to the bundle. This can be done w/o editing Hyku by adding them to the [./bundler.d/example.rb](./bundler.d/example.rb]. [See the bundler-inject documentation for more details](https://github.com/kbrock/bundler-inject/) on overriding and adding gems. + +**NOTE:** Do not add gems to the gemspec nor Gemfile. When you add to the knapsack Gemfile/gemspec, when you bundle, you'll update the Hyku Gemfile; which will mean you might be updating Hyku prime with knapsack installation specific dependencies. Instead add gems to `./bundler.d/example.rb`. ## Converting a Fork of Hyku Prime to a Knapsack diff --git a/Rakefile b/Rakefile index 8577623..d6deb3b 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,4 @@ +# frozen_string_literal: true require "bundler/setup" load "rails/tasks/statistics.rake" diff --git a/bin/knapsacker b/bin/knapsacker deleted file mode 100755 index b177eab..0000000 --- a/bin/knapsacker +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env ruby -wU - -# The purpose of this script is to quickly assess which specs should: -# -# - be removed (e.g. duplicate in Knapsack and Hyku) -# - be reviewed (e.g. differences between Knapsack and Hyku) -# - kept outright (e.g. in Knapsack but not Hyku) - -require 'optparse' -config = { yours: './', upstream: './hyrax-webapp', patterns_to_check: ["spec/**/*.*", "app/**/*.*", "lib/**/*.*"] } - -command_name = File.basename(__FILE__) - - -nlp = new_line_padding = " " * 37 -optparse = OptionParser.new do |options| - # This banner is the first line of your help documentation. - options.set_banner "Usage: #{command_name} [options]\n\n" \ - "Knapsacker - A command line tool for assisting on moving from Hyku towards\n Knapsack.\n\n" - - options.on('-u PATH', '--upstream', String, "The file path that contains the upstream\n#{nlp}repository. Not your Hyku application.\n#{nlp}Default: #{config[:upstream]}") do |upstream| - config[:upstream] = upstream - end - - options.on('-y PATH', '--yours', String, "The file path to your application\n#{nlp}(e.g. what you forked from Samvera Hyku or your Knapsack).\n#{nlp}Default: #{config[:yours]}") do |yours| - config[:yours] = yours - end - - options.on_tail('-h', '--help', "You're looking at it!") do - warn options - exit 1 - end -end - -begin - optparse.parse! - mandatory = %i[yours upstream] - missing = mandatory.select { |param| config[param].nil? } - raise OptionParser::MissingArgument, missing.join(', ') unless missing.empty? -rescue OptionParser::InvalidOption, OptionParser::MissingArgument - warn "\e[0m\e[1m\e[31m#{$!}\e[0m\n" - warn optparse - exit -end - -require 'fileutils' - -in_yours_but_not_in_upstream = [] -duplicates = [] -changed_in_yours = [] - -yours = config.fetch(:yours) -upstream = config.fetch(:upstream) -dir_glob_patterns_to_check = config.fetch(:patterns_to_check) - -unless File.exist?(File.join(yours, "Gemfile")) - $stderr.puts "ERROR: Expected \"your\" hyku not found at #{yours}" - exit!(2) -end - -unless File.exist?(File.join(upstream, "Gemfile")) - $stderr.puts "ERROR: Expected \"upstream\" hyku not found at #{upstream}" - exit!(3) -end - -# TODO: This is not generally working. -dir_glob_patterns_to_check.each do |pattern| - Dir.glob(pattern).each do |path| - hyku_path = File.join(upstream, path) - if File.exist?(hyku_path) - results = `diff #{path} #{hyku_path}`.strip - if results.empty? - duplicates << path - else - changed_in_yours << path - end - else - in_yours_but_not_in_upstream << path - end - end -end - - -puts "-"*72 -puts "Knapsacker run context:" -puts "-"*72 -puts "- Working Directory: #{FileUtils.pwd}" -puts "- Your Dir: #{yours}" -puts "- Upstream Dir: #{upstream}" -puts "- Patterns to Check:" -config.fetch(:patterns_to_check).each do |pattern| - puts " - #{pattern}" -end -puts "" - -puts "------------------------------------------------------------------" -puts "Files in your Hyku that are exact duplicates of upstream Hyku file" -puts "They are prefixed with a `='" -puts "------------------------------------------------------------------" -duplicates.each do |path| - puts "= #{path}" - if ENV['RM_DUPS'] - File.unlink(path) - end -end - -puts "" - -puts "----------------------------------------------------" -puts "Files that are in your Hyku but not in upstream Hyku" -puts "They are prefixed with a `+'" -puts "----------------------------------------------------" -in_yours_but_not_in_upstream.each do |path| - puts "+ #{path}" -end - -puts "" - -puts "-------------------------------------------------------------" -puts "Files that are changed in your Hyku relative to upstream Hyku" -puts "They are prefixed with a `Δ'" -puts "-------------------------------------------------------------" -changed_in_yours.each do |path| - puts "Δ #{path}" -end diff --git a/bin/rails b/bin/rails index 0739660..15d6bce 100755 --- a/bin/rails +++ b/bin/rails @@ -1,4 +1,6 @@ #!/usr/bin/env ruby + +# frozen_string_literal: true APP_PATH = File.expand_path('../config/application', __dir__) require_relative '../config/boot' require 'rails/commands' diff --git a/bundler.d/example.rb b/bundler.d/example.rb index 05862d1..6b9acc1 100644 --- a/bundler.d/example.rb +++ b/bundler.d/example.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # see https://github.com/kbrock/bundler-inject/tree/gem_path # specify one or more ruby files in this directory to be injected into bundler diff --git a/config/initializers/hyrax.rb b/config/initializers/hyrax.rb index 84aae43..8b2587a 100644 --- a/config/initializers/hyrax.rb +++ b/config/initializers/hyrax.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Use this to override any Hyrax configuration from the Knapsack Hyrax.config do |config| diff --git a/config/routes.rb b/config/routes.rb index 648092a..30a6e9e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,2 +1,3 @@ +# frozen_string_literal: true HykuKnapsack::Engine.routes.draw do end diff --git a/db-migrate-seed.sh b/db-migrate-seed.sh index eeecf94..6e8b081 100755 --- a/db-migrate-seed.sh +++ b/db-migrate-seed.sh @@ -10,6 +10,7 @@ db-wait.sh "$SOLR_HOST:$SOLR_PORT" migrations_run=`PGPASSWORD=$DB_PASSWORD psql -h $DB_HOST -U $DB_USER $DB_NAME -t -c "SELECT version FROM schema_migrations ORDER BY schema_migrations" | wc -c` migrations_fs=`ls -l db/migrate/ | awk '{print $9}' | grep -o '[0-9]\+' | wc -c` if [[ "$migrations_run" -lt "$migrations_fs" ]]; then + bundle bundle exec rails db:create bundle exec rails db:migrate bundle exec rails db:seed diff --git a/hyrax-webapp b/hyrax-webapp index 4717a5b..ca69d95 160000 --- a/hyrax-webapp +++ b/hyrax-webapp @@ -1 +1 @@ -Subproject commit 4717a5b576cdbc87ab000345465a8da4cf4774a8 +Subproject commit ca69d95ca3703272c8391ad470996de2fe2eae55 diff --git a/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb b/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb index 110a282..067f816 100644 --- a/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb +++ b/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb @@ -8,6 +8,7 @@ require 'rails/generators' require 'rails/generators/model_helpers' +# rubocop:disable Metrics/ClassLength class HykuKnapsack::WorkResourceGenerator < Rails::Generators::NamedBase # ActiveSupport can interpret models as plural which causes # counter-intuitive route paths. Pull in ModelHelpers from @@ -154,3 +155,4 @@ def revoking? behavior == :revoke end end +# rubocop:enable Metrics/ClassLength diff --git a/lib/hyku_knapsack.rb b/lib/hyku_knapsack.rb index bc57770..c6255d4 100644 --- a/lib/hyku_knapsack.rb +++ b/lib/hyku_knapsack.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true require "hyku_knapsack/version" require "hyku_knapsack/engine" diff --git a/lib/hyku_knapsack/engine.rb b/lib/hyku_knapsack/engine.rb index 1452de4..d73eb3f 100644 --- a/lib/hyku_knapsack/engine.rb +++ b/lib/hyku_knapsack/engine.rb @@ -32,7 +32,7 @@ def self.load_translations! config.before_initialize do config.i18n.load_path += Dir["#{config.root}/config/locales/**/*.yml"] - #if Hyku::Application.respond_to?(:user_devise_parameters=) + # if Hyku::Application.respond_to?(:user_devise_parameters=) # Hyku::Application.user_devise_parameters = %i[ # database_authenticatable # invitable @@ -42,7 +42,7 @@ def self.load_translations! # validatable # omniauthable # ] - #end + # end end config.after_initialize do @@ -54,13 +54,7 @@ def self.load_translations! Rails.configuration.cache_classes ? require(c) : load(c) end - # By default plain text files are not processed for text extraction. In adding - # Adventist::TextFileTextExtractionService to the beginning of the services array we are - # enabling text extraction from plain text files. - # - # https://github.com/scientist-softserv/adventist-dl/blob/97bd05946345926b2b6c706bd90e183a9d78e8ef/config/application.rb#L68-L73 Hyrax::DerivativeService.services = [ - # Adventist::TextFileTextExtractionService, IiifPrint::PluggableDerivativeService ] diff --git a/ops/staging-deploy.tmpl.yaml b/ops/staging-deploy.tmpl.yaml index 0921062..7226ce7 100644 --- a/ops/staging-deploy.tmpl.yaml +++ b/ops/staging-deploy.tmpl.yaml @@ -1,16 +1,24 @@ replicaCount: 2 +resources: + limits: + memory: "4Gi" + cpu: "500m" + requests: + memory: "2Gi" + cpu: "250m" + livenessProbe: enabled: false readinessProbe: enabled: false brandingVolume: - storageClass: aws-efs + storageClass: efs-sc derivativesVolume: - storageClass: aws-efs + storageClass: efs-sc uploadsVolume: - storageClass: aws-efs + storageClass: efs-sc size: 200Gi imagePullSecrets: @@ -32,6 +40,9 @@ extraVolumeMounts: &volMounts - name: uploads mountPath: /app/samvera/hyrax-webapp/tmp/network_files subPath: network-files + - name: uploads + mountPath: /app/samvera/hyrax-webapp/storage/files + subPath: storage-files ingress: enabled: true @@ -123,15 +134,19 @@ extraEnvVars: &envVars - name: HYRAX_ACTIVE_JOB_QUEUE value: sidekiq - name: HYRAX_ANALYTICS + value: "false" + - name: HYRAX_FITS_PATH + value: /app/fits/fits.sh + - name: HYRAX_VALKYRIE value: "true" - name: HYKU_BULKRAX_ENABLED value: "true" + - name: HYKU_BLOCK_VALKYRIE_REDIRECT + value: "false" - name: HYKU_CONTACT_EMAIL value: REPLACE_ME - name: HYKU_FILE_ACL value: "false" - - name: HYRAX_FITS_PATH - value: /app/fits/fits.sh - name: HYKU_ADMIN_HOST value: RPLACEME - name: HYKU_ADMIN_ONLY_TENANT_CREATION @@ -182,6 +197,8 @@ extraEnvVars: &envVars value: user@example.com - name: TEST_USER_PASSWORD value: testing123 + - name: VALKYRIE_ID_TYPE + value: string worker: replicaCount: 1 @@ -219,7 +236,7 @@ externalFcrepoHost: fcrepo.staging-fcrepo.svc.cluster.local externalPostgresql: host: pg-postgresql.staging-postgres.svc.cluster.local username: postgres - password: $POSTGRES_PASSWORD + password: $DB_PASSWORD externalSolrHost: solr.staging-solr.svc.cluster.local externalSolrUser: admin diff --git a/rspec.xml b/rspec.xml new file mode 100644 index 0000000..a037510 --- /dev/null +++ b/rspec.xml @@ -0,0 +1,2 @@ +# this file is needed to pass the pipeline since there aren't enough specs to run +# that would generate this file. Without this file, the Move Test action step fails. diff --git a/spec/hyku_knapsack/application_spec.rb b/spec/hyku_knapsack/application_spec.rb new file mode 100644 index 0000000..b68808e --- /dev/null +++ b/spec/hyku_knapsack/application_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe Hyku::Application do + let(:rails_root) { Rails.root } + let(:hyku_knapsack_root) { HykuKnapsack::Engine.root } + + describe '.theme_view_path_roots' do + it 'includes the Rails root and the Hyku Knapsack root' do + expect(described_class.theme_view_path_roots).to eq([rails_root.to_s, hyku_knapsack_root.to_s]) + end + end + + describe '.path_for' do + context 'when relative path does not exist in the knapsack' do + it 'returns the fall back path' do + expect(described_class.path_for('foo')).to eq(rails_root.join('foo').to_s) + end + end + + context 'when relative path exists in the knapsack' do + it 'returns the relative path' do + path = 'app/models/hyku_knapsack/application_record.rb' + expect(described_class.path_for(path)).to eq(hyku_knapsack_root.join(path).to_s) + end + end + end +end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 7c92fd4..4323be0 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -5,14 +5,17 @@ ENV["RAILS_ENV"] ||= "test" # require File.expand_path('../config/environment', __dir__) -require File.expand_path("hyrax-webapp/config/environment", __dir__) +require Rails.root.join("config", "environment") # Prevent database truncation if the environment is production abort("The Rails environment is running in production mode!") if Rails.env.production? require "rspec/rails" # Add additional requires below this line. Rails is not loaded until this point! require "factory_bot_rails" -FactoryBot.definition_file_paths = [File.expand_path("spec/factories", HykuAddons::Engine.root)] -FactoryBot.find_definitions + +if defined?(HykuAddons) + FactoryBot.definition_file_paths = [File.expand_path("spec/factories", HykuAddons::Engine.root)] + FactoryBot.find_definitions +end # Requires supporting ruby files with custom matchers and macros, etc, in # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are @@ -39,5 +42,5 @@ # TODO is this needed? config.include HykuKnapsack::Engine.routes.url_helpers - ## End override + # End override end