diff --git a/Dockerfile.rails-next b/Dockerfile.rails-next index ef77e3f0..452ec3c2 100644 --- a/Dockerfile.rails-next +++ b/Dockerfile.rails-next @@ -27,6 +27,8 @@ ENV RAILS_ENV=$RAILS_ENV RUN bundle config --global jobs `cat /proc/cpuinfo | grep processor | wc -l | xargs -I % expr % - 1` && \ if echo "development test" | grep -w "$RAILS_ENV"; then \ + gem update --system 3.3.22 \ + gem install bundler --version 2.3.26 \ bundle install; \ else bundle install --without development test; fi diff --git a/Gemfile b/Gemfile index 0a3ceb9b..5bdc0c9b 100644 --- a/Gemfile +++ b/Gemfile @@ -13,8 +13,11 @@ gem 'httparty' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' if next? gem "rails", '6.0.6.1' + gem 'omniauth-oauth2' + gem 'graphql', "1.12" else gem 'rails', '~> 5.2' + gem 'graphql' end # Use postgresql as the database for Active Record gem 'pg', '~> 1.3' @@ -55,7 +58,6 @@ gem 'rest-client', '> 2.0' gem 'jsonpath' gem 'simple_form' gem 'pundit', "~> 2.2.0" -gem 'graphql' gem 'graphiql-rails' gem 'stoplight' gem 'ranked-model' @@ -78,7 +80,7 @@ group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: [:mri, :mingw, :x64_mingw] gem 'pry-byebug' - gem 'rspec-rails', '~> 3.8' + gem 'rspec-rails' gem 'pry-rails' gem 'webmock' gem 'spring-commands-rspec' diff --git a/Gemfile.lock b/Gemfile.lock index 57df1a11..e69a0828 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -413,7 +413,7 @@ DEPENDENCIES ranked-model responders rest-client (> 2.0) - rspec-rails (~> 3.8) + rspec-rails rubocop sass-rails (~> 5.0) sentry-raven diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 3743ebb9..ba448491 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -59,40 +59,43 @@ GEM minitest (~> 5.1) tzinfo (~> 1.1) zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - ast (2.4.0) - autoprefixer-rails (9.4.7) - execjs - aws-eventstream (1.0.3) - aws-partitions (1.193.0) - aws-sdk-core (3.61.1) - aws-eventstream (~> 1.0, >= 1.0.2) - aws-partitions (~> 1.0) - aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.24.0) - aws-sdk-core (~> 3, >= 3.61.1) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.46.0) - aws-sdk-core (~> 3, >= 3.61.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + ast (2.4.3) + autoprefixer-rails (10.4.21.0) + execjs (~> 2) + aws-eventstream (1.3.2) + aws-partitions (1.1090.0) + aws-sdk-core (3.222.2) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.183.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sdk-sqs (1.20.0) - aws-sdk-core (~> 3, >= 3.61.1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.1.0) - aws-eventstream (~> 1.0, >= 1.0.2) + aws-sigv4 (~> 1.5) + aws-sdk-sqs (1.93.0) + aws-sdk-core (~> 3, >= 3.216.0) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.11.0) + aws-eventstream (~> 1, >= 1.0.2) base64 (0.2.0) - bindex (0.5.0) + bigdecimal (3.1.9) + bindex (0.8.1) bootsnap (1.18.4) msgpack (~> 1.2) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) - brpoplpush-redis_script (0.1.2) + brpoplpush-redis_script (0.1.3) concurrent-ruby (~> 1.0, >= 1.0.5) - redis (>= 1.0, <= 5.0) + redis (>= 1.0, < 6) builder (3.3.0) byebug (11.1.3) coderay (1.1.3) @@ -101,8 +104,9 @@ GEM congestion (0.1.0) connection_pool (>= 2.0) redis (>= 3.1) - connection_pool (2.2.5) - crack (0.4.5) + connection_pool (2.5.1) + crack (1.0.0) + bigdecimal rexml crass (1.0.6) csv (3.3.4) @@ -111,10 +115,9 @@ GEM activerecord deprecate (0.0.0) diff-lcs (1.6.1) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) erubi (1.13.1) - execjs (2.8.1) + execjs (2.10.0) factory_bot (6.4.5) activesupport (>= 5.0.0) factory_bot_rails (6.4.3) @@ -148,7 +151,7 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.1) faraday (~> 1.0) - ffi (1.9.25) + ffi (1.16.3) flipper (1.3.4) concurrent-ruby (< 2) flipper-active_record (1.3.4) @@ -165,11 +168,11 @@ GEM activesupport (>= 5.0) graphiql-rails (1.10.4) railties - graphql (1.9.9) - hashdiff (1.0.1) + graphql (1.12.0) + hashdiff (1.1.2) hashie (5.0.0) http-accept (1.7.0) - http-cookie (1.0.5) + http-cookie (1.0.8) domain_name (~> 0.5) httparty (0.23.1) csv @@ -177,19 +180,21 @@ GEM multi_xml (>= 0.5.2) i18n (1.14.7) concurrent-ruby (~> 1.0) - jaro_winkler (1.5.4) - jmespath (1.6.1) + jmespath (1.6.2) jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jsonpath (1.0.4) + json (2.10.2) + jsonpath (1.1.5) multi_json - to_regexp (~> 0.2.1) jwt (1.5.6) + language_server-protocol (3.17.0.4) + lint_roller (1.1.0) listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) @@ -206,16 +211,18 @@ GEM net-smtp marcel (1.0.4) method_source (1.1.0) - mime-types (3.4.1) + mime-types (3.6.2) + logger mime-types-data (~> 3.2015) - mime-types-data (3.2022.0105) + mime-types-data (3.2025.0415) mini_mime (1.1.5) + mini_portile2 (2.8.8) minitest (5.25.5) - msgpack (1.5.1) - multi_json (1.13.1) + msgpack (1.8.0) + multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.2.0) - net-imap (0.4.19) + multipart-post (2.4.1) + net-imap (0.4.20) date net-protocol net-pop (0.1.2) @@ -225,35 +232,37 @@ GEM net-smtp (0.5.1) net-protocol netrc (0.11.0) - newrelic_rpm (8.8.0) + newrelic_rpm (9.18.0) nio4r (2.7.4) - nokogiri (1.15.7-aarch64-linux) - racc (~> 1.4) - nokogiri (1.15.7-x86_64-linux) + nokogiri (1.15.7) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - oauth2 (1.4.11) + oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) - multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 4) - omniauth (1.9.2) + snaky_hash (~> 2.0) + version_gem (~> 1.1) + omniauth (2.1.3) hashie (>= 3.4.6) - rack (>= 1.6.2, < 3) - omniauth-oauth2 (1.3.1) - oauth2 (~> 1.0) - omniauth (~> 1.2) - omniauth-zooniverse (0.0.4) - omniauth-oauth2 (= 1.3.1) + rack (>= 2.2.3) + rack-protection + omniauth-oauth2 (1.8.0) + oauth2 (>= 1.4, < 3) + omniauth (~> 2.0) + omniauth-zooniverse (0.0.3) panoptes-client (1.2.1) deprecate faraday faraday-panoptes (~> 0.3) jwt (~> 1.5.0) - parallel (1.19.1) - parser (2.7.1.2) - ast (~> 2.4.0) + parallel (1.27.0) + parser (3.3.8.0) + ast (~> 2.4.1) + racc pg (1.5.9) + prism (1.4.0) pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) @@ -262,17 +271,18 @@ GEM pry (>= 0.13, < 0.15) pry-rails (0.3.11) pry (>= 0.13.0) - public_suffix (4.0.7) + public_suffix (5.1.1) puma (5.6.9) nio4r (~> 2.0) pundit (2.2.0) activesupport (>= 3.0.0) racc (1.8.1) rack (2.2.13) - rack-cors (1.1.1) + rack-cors (2.0.2) rack (>= 2.0.0) - rack-protection (2.0.8.1) - rack + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) rack-session (1.0.2) rack (< 3) rack-test (2.2.0) @@ -309,17 +319,18 @@ GEM method_source rake (>= 0.8.7) thor (>= 0.20.3, < 2.0) - rainbow (3.0.0) + rainbow (3.1.1) rake (13.2.1) ranked-model (0.4.11) activerecord (>= 5.2) - rb-fsevent (0.11.0) - rb-inotify (0.10.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) ffi (~> 1.0) - redis (4.5.1) + redis (4.8.1) redlock (1.3.2) redis (>= 3.0.0, < 6.0) - request_store (1.4.1) + regexp_parser (2.10.0) + request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) @@ -329,38 +340,44 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.2.5) - rspec-core (3.8.2) - rspec-support (~> 3.8.0) - rspec-expectations (3.8.6) + rexml (3.4.1) + rspec-core (3.13.3) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-mocks (3.8.2) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-rails (3.8.3) - actionpack (>= 3.0) - activesupport (>= 3.0) - railties (>= 3.0) - rspec-core (~> 3.8.0) - rspec-expectations (~> 3.8.0) - rspec-mocks (~> 3.8.0) - rspec-support (~> 3.8.0) - rspec-support (3.8.0) - rubocop (0.82.0) - jaro_winkler (~> 1.5.1) + 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-support (3.13.2) + rubocop (1.75.3) + json (~> 2.3) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) - parser (>= 2.7.0.1) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - rexml + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.44.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) - ruby-progressbar (1.10.1) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.44.1) + parser (>= 3.3.7.2) + prism (~> 1.4) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) sanitize (6.1.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) - sass (3.7.2) + sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -394,7 +411,10 @@ GEM simple_form (5.3.1) actionpack (>= 5.2) activemodel (>= 5.2) - spring (2.1.0) + snaky_hash (2.0.1) + hashie + version_gem (~> 1.1, >= 1.1.1) + spring (2.1.1) spring-commands-rspec (1.0.4) spring (>= 0.9.1) spring-watcher-listen (2.0.1) @@ -419,17 +439,16 @@ GEM rest-client (>= 2.0.2) thor (1.3.2) thread_safe (0.3.6) - tilt (2.0.8) + tilt (2.6.0) timeout (0.4.3) - to_regexp (0.2.1) tzinfo (1.2.11) thread_safe (~> 0.1) uglifier (4.2.1) execjs (>= 0.3.0, < 3) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (1.7.0) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) + version_gem (1.1.7) web-console (4.2.1) actionview (>= 6.0.0) activemodel (>= 6.0.0) @@ -446,8 +465,7 @@ GEM zeitwerk (2.6.18) PLATFORMS - aarch64-linux - x86_64-linux + ruby DEPENDENCIES active_record_extended @@ -462,7 +480,7 @@ DEPENDENCIES flipper-active_record flipper-ui graphiql-rails - graphql + graphql (= 1.12) httparty jquery-rails jsonpath @@ -471,6 +489,7 @@ DEPENDENCIES logstash-event newrelic_rpm omniauth + omniauth-oauth2 omniauth-zooniverse panoptes-client (~> 1.2) pg (~> 1.3) @@ -484,7 +503,7 @@ DEPENDENCIES ranked-model responders rest-client (> 2.0) - rspec-rails (~> 3.8) + rspec-rails rubocop sass-rails (~> 5.0) sentry-raven @@ -505,4 +524,4 @@ DEPENDENCIES webmock BUNDLED WITH - 2.3.22 + 2.1.4 diff --git a/config/application.rb b/config/application.rb index 7125ccbf..4dab44f1 100644 --- a/config/application.rb +++ b/config/application.rb @@ -1,6 +1,7 @@ require_relative 'boot' require 'rails/all' +require 'ostruct' # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production.