diff --git a/.ruby-version b/.ruby-version
index 6a81b4c..fa7adc7 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.7.8
+3.3.5
diff --git a/Dockerfile b/Dockerfile
index 453ba1e..00dc5ec 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,7 +13,7 @@ RUN apk add --update \
nodejs \
tzdata \
&& rm -rf /var/cache/apk/* \
- && gem update --system 3.2.3 \
+ && gem update --system \
&& gem install bundler:$BUNDLER_VERSION \
&& bundle config --global frozen 1
diff --git a/Gemfile b/Gemfile
index 2e3e661..ab602a2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,10 +2,10 @@
source 'https://rubygems.org'
-gem 'execjs', '< 2.8.0'
+gem 'execjs'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
-gem 'rails', '< 6.0.0'
+gem 'rails'
# Use Puma as the app server
gem 'puma'
@@ -14,14 +14,13 @@ gem 'puma'
gem 'sass-rails'
# Use Uglifier as compressor for JavaScript assets
-gem 'uglifier', '>= 1.3.0'
+gem 'uglifier'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
-gem 'libv8-node', '>= 16.10.0.0'
+gem 'libv8-node'
-# lock down the version of rubygems-update to avoid issues with rubygems
-gem 'rubygems-update', '~> 3.4', '>= 3.4.22'
+gem 'rubygems-update'
gem 'jbuilder'
gem 'jquery-rails'
@@ -68,24 +67,23 @@ gem 'faraday_middleware'
gem 'font-awesome-rails'
gem 'get_process_mem'
gem 'jquery-ui-rails'
-gem 'prometheus-client', '~> 4.0'
-gem 'sentry-rails', '~> 5.2'
+gem 'prometheus-client'
+gem 'sentry-rails'
gem 'yajl-ruby', require: 'yajl'
gem 'puma-metrics'
+# TODO: In production you want to set this to the gem from the epimorphics package repo
+source 'https://rubygems.pkg.github.com/epimorphics' do
+ gem 'data_services_api'
+ gem 'json_rails_logger'
+ gem 'lr_common_styles'
+end
# rubocop:disable Layout/LineLength
# TODO: While running the rails app locally for testing you can set gems to your local path
# ! These "local" paths do not work with a docker image - use the repo instead
-# gem 'data_services_api', '~> 1.3.3', path: '~/Epimorphics/shared/data_services_api/'
-# gem 'json_rails_logger', '~>1.0.0', path: '~/Epimorphics/shared/json-rails-logger/'
-# gem 'lr_common_styles', '~> 1.9.0', path: '~/Epimorphics/clients/land-registry/projects/lr_common_styles/'
+# gem 'data_services_api', path: '~/Epimorphics/shared/data_services_api'
+# gem 'json_rails_logger', path: '~/Epimorphics/shared/json-rails-logger'
+# gem 'lr_common_styles', path: '~/Epimorphics/clients/land-registry/projects/lr_common_styles'
# rubocop:enable Layout/LineLength
-
-# TODO: In production you want to set this to the gem from the epimorphics package repo
-source 'https://rubygems.pkg.github.com/epimorphics' do
- gem 'data_services_api', '~> 1.3.3'
- gem 'json_rails_logger', '~>1.0.0'
- gem 'lr_common_styles', '~> 2.0' # set as this version as bundler breaks otherwise
-end
diff --git a/Gemfile.lock b/Gemfile.lock
index efb87b5..51155be 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,65 +1,96 @@
GEM
remote: https://rubygems.org/
- remote: https://rubygems.pkg.github.com/epimorphics/
specs:
- actioncable (5.2.7)
- actionpack (= 5.2.7)
+ actioncable (7.2.2)
+ actionpack (= 7.2.2)
+ activesupport (= 7.2.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailer (5.2.7)
- actionpack (= 5.2.7)
- actionview (= 5.2.7)
- activejob (= 5.2.7)
- mail (~> 2.5, >= 2.5.4)
- rails-dom-testing (~> 2.0)
- actionpack (5.2.7)
- actionview (= 5.2.7)
- activesupport (= 5.2.7)
- rack (~> 2.0, >= 2.0.8)
+ zeitwerk (~> 2.6)
+ actionmailbox (7.2.2)
+ actionpack (= 7.2.2)
+ activejob (= 7.2.2)
+ activerecord (= 7.2.2)
+ activestorage (= 7.2.2)
+ activesupport (= 7.2.2)
+ mail (>= 2.8.0)
+ actionmailer (7.2.2)
+ actionpack (= 7.2.2)
+ actionview (= 7.2.2)
+ activejob (= 7.2.2)
+ activesupport (= 7.2.2)
+ mail (>= 2.8.0)
+ rails-dom-testing (~> 2.2)
+ actionpack (7.2.2)
+ actionview (= 7.2.2)
+ activesupport (= 7.2.2)
+ nokogiri (>= 1.8.5)
+ racc
+ rack (>= 2.2.4, < 3.2)
+ rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
- rails-dom-testing (~> 2.0)
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.2.7)
- activesupport (= 5.2.7)
+ rails-dom-testing (~> 2.2)
+ rails-html-sanitizer (~> 1.6)
+ useragent (~> 0.16)
+ actiontext (7.2.2)
+ actionpack (= 7.2.2)
+ activerecord (= 7.2.2)
+ activestorage (= 7.2.2)
+ activesupport (= 7.2.2)
+ globalid (>= 0.6.0)
+ nokogiri (>= 1.8.5)
+ actionview (7.2.2)
+ activesupport (= 7.2.2)
builder (~> 3.1)
- erubi (~> 1.4)
- rails-dom-testing (~> 2.0)
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
- activejob (5.2.7)
- activesupport (= 5.2.7)
+ erubi (~> 1.11)
+ rails-dom-testing (~> 2.2)
+ rails-html-sanitizer (~> 1.6)
+ activejob (7.2.2)
+ activesupport (= 7.2.2)
globalid (>= 0.3.6)
- activemodel (5.2.7)
- activesupport (= 5.2.7)
- activerecord (5.2.7)
- activemodel (= 5.2.7)
- activesupport (= 5.2.7)
- arel (>= 9.0)
- activestorage (5.2.7)
- actionpack (= 5.2.7)
- activerecord (= 5.2.7)
- marcel (~> 1.0.0)
- activesupport (5.2.7)
- 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)
+ activemodel (7.2.2)
+ activesupport (= 7.2.2)
+ activerecord (7.2.2)
+ activemodel (= 7.2.2)
+ activesupport (= 7.2.2)
+ timeout (>= 0.4.0)
+ activestorage (7.2.2)
+ actionpack (= 7.2.2)
+ activejob (= 7.2.2)
+ activerecord (= 7.2.2)
+ activesupport (= 7.2.2)
+ marcel (~> 1.0)
+ activesupport (7.2.2)
+ base64
+ benchmark (>= 0.3)
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.3.1)
+ connection_pool (>= 2.2.5)
+ drb
+ i18n (>= 1.6, < 2)
+ logger (>= 1.4.2)
+ minitest (>= 5.1)
+ securerandom (>= 0.3)
+ tzinfo (~> 2.0, >= 2.0.5)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
ansi (1.5.0)
- arel (9.0.0)
ast (2.4.2)
- autoprefixer-rails (10.4.2.0)
+ autoprefixer-rails (10.4.19.0)
execjs (~> 2)
+ base64 (0.2.0)
+ benchmark (0.4.0)
+ bigdecimal (3.1.8)
bootstrap-sass (3.4.1)
autoprefixer-rails (>= 5.2.1)
sassc (>= 2.0.0)
- builder (3.2.4)
+ builder (3.3.0)
byebug (11.1.3)
- capybara (3.36.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)
@@ -70,20 +101,18 @@ GEM
capybara_minitest_spec (1.0.7)
capybara (>= 2)
minitest (>= 4)
- childprocess (4.1.0)
- concurrent-ruby (1.1.10)
- crack (0.4.5)
+ concurrent-ruby (1.3.4)
+ connection_pool (2.4.1)
+ crack (1.0.0)
+ bigdecimal
rexml
crass (1.0.6)
- data_services_api (1.3.3)
- faraday_middleware (~> 1.2.0)
- json (~> 2.6.1)
- yajl-ruby (~> 1.4.1)
- docile (1.4.0)
- erubi (1.10.0)
- erubis (2.7.0)
- execjs (2.7.0)
- faraday (1.10.0)
+ date (3.4.0)
+ docile (1.4.1)
+ drb (2.2.1)
+ erubi (1.13.0)
+ execjs (2.10.0)
+ faraday (1.10.4)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -99,273 +128,339 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
- faraday-multipart (1.0.3)
- multipart-post (>= 1.2, < 3)
- faraday-net_http (1.0.1)
+ faraday-multipart (1.0.4)
+ multipart-post (~> 2)
+ faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
- faraday_middleware (1.2.0)
+ faraday_middleware (1.2.1)
faraday (~> 1.0)
- ffi (1.15.5)
+ ffi (1.17.0-aarch64-linux-gnu)
+ ffi (1.17.0-aarch64-linux-musl)
+ ffi (1.17.0-arm-linux-gnu)
+ ffi (1.17.0-arm-linux-musl)
+ ffi (1.17.0-arm64-darwin)
+ ffi (1.17.0-x86-linux-gnu)
+ ffi (1.17.0-x86-linux-musl)
+ ffi (1.17.0-x86_64-darwin)
+ ffi (1.17.0-x86_64-linux-gnu)
+ ffi (1.17.0-x86_64-linux-musl)
flamegraph (0.9.5)
- font-awesome-rails (4.7.0.8)
- railties (>= 3.2, < 8.0)
- get_process_mem (0.2.7)
+ font-awesome-rails (4.7.0.9)
+ railties (>= 3.2, < 9.0)
+ get_process_mem (1.0.0)
+ bigdecimal (>= 2.0)
ffi (~> 1.0)
- globalid (1.0.1)
- activesupport (>= 5.0)
- govuk_elements_rails (2.0.0)
- govuk_frontend_toolkit (>= 4.14.1)
+ globalid (1.2.1)
+ activesupport (>= 6.1)
+ govuk_elements_rails (3.0.2)
+ govuk_frontend_toolkit (>= 5.2.0)
rails (>= 4.1.0)
sass (>= 3.2.0)
- govuk_frontend_toolkit (4.18.4)
- rails (>= 3.1.0)
- sass (>= 3.2.0)
- govuk_template (0.18.3)
+ govuk_frontend_toolkit (9.0.1)
+ railties (>= 3.1.0)
+ govuk_template (0.26.0)
rails (>= 3.1)
- haml (5.2.2)
- temple (>= 0.8.0)
+ haml (6.3.0)
+ temple (>= 0.8.2)
+ thor
tilt
- haml-rails (2.0.1)
+ haml-rails (2.1.0)
actionpack (>= 5.1)
activesupport (>= 5.1)
- haml (>= 4.0.6, < 6.0)
- html2haml (>= 1.0.1)
+ haml (>= 4.0.6)
railties (>= 5.1)
- hashdiff (1.0.1)
- html2haml (2.2.0)
- erubis (~> 2.7.0)
- haml (>= 4.0, < 6)
- nokogiri (>= 1.6.0)
- ruby_parser (~> 3.5)
- i18n (1.12.0)
+ hashdiff (1.1.2)
+ i18n (1.14.6)
concurrent-ruby (~> 1.0)
- jbuilder (2.11.5)
+ io-console (0.7.2)
+ irb (1.14.1)
+ rdoc (>= 4.0.0)
+ reline (>= 0.4.2)
+ jbuilder (2.13.0)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
- jquery-rails (4.3.5)
+ 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)
+ jquery-ui-rails (7.0.0)
railties (>= 3.2.16)
json (2.6.3)
json_expressions (0.9.0)
- json_rails_logger (1.0.1)
- json
- lograge
- railties
- libv8-node (16.10.0.0)
- libv8-node (16.10.0.0-aarch64-linux)
- libv8-node (16.10.0.0-x86_64-darwin)
- libv8-node (16.10.0.0-x86_64-linux)
+ language_server-protocol (3.17.0.3)
+ libv8-node (22.7.0.4)
+ libv8-node (22.7.0.4-aarch64-linux)
+ libv8-node (22.7.0.4-arm64-darwin)
+ libv8-node (22.7.0.4-x86_64-darwin)
+ libv8-node (22.7.0.4-x86_64-linux)
+ libv8-node (22.7.0.4-x86_64-linux-musl)
lodash-rails (4.17.21)
railties (>= 3.1)
- lograge (0.12.0)
+ logger (1.6.1)
+ lograge (0.14.0)
actionpack (>= 4)
activesupport (>= 4)
railties (>= 4)
request_store (~> 1.0)
- loofah (2.21.3)
+ loofah (2.23.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
- lr_common_styles (2.0.0)
- bootstrap-sass (~> 3.4.0)
- font-awesome-rails (~> 4.7.0.1)
- govuk_elements_rails (~> 2.0.0)
- govuk_frontend_toolkit (~> 4.18.1)
- govuk_template (~> 0.18.1)
- haml-rails (~> 2.0.0)
- jquery-rails (>= 4.3.5, < 4.7.0)
- lodash-rails (~> 4.17.14)
- modernizr-rails (~> 2.7.1)
- modulejs-rails (~> 2.2.0.0)
- rails (>= 5.2.4)
- sass-rails (~> 5.0.4)
- mail (2.7.1)
+ mail (2.8.1)
mini_mime (>= 0.1.1)
- marcel (1.0.2)
+ net-imap
+ net-pop
+ net-smtp
+ marcel (1.0.4)
matrix (0.4.2)
- memory_profiler (1.0.0)
- method_source (1.0.0)
- mini_mime (1.1.2)
- mini_portile2 (2.8.2)
+ memory_profiler (1.1.0)
+ mini_mime (1.1.5)
minispec-metadata (2.0.0)
minitest
- minitest (5.17.0)
- minitest-rails (5.2.0)
- minitest (~> 5.10)
- railties (~> 5.2.0)
- minitest-reporters (1.5.0)
+ minitest (5.25.1)
+ minitest-rails (7.1.1)
+ minitest (~> 5.20)
+ railties (>= 7.1.0, < 8.0.0)
+ minitest-reporters (1.7.1)
ansi
builder
minitest (>= 5.0)
ruby-progressbar
- minitest-spec-rails (6.1.0)
+ minitest-spec-rails (7.3.0)
minitest (>= 5.0)
railties (>= 4.1)
minitest-vcr (1.4.0)
minispec-metadata (~> 2.0)
minitest (>= 4.7.5)
vcr (>= 2.9)
- mocha (1.13.0)
+ mocha (2.5.0)
+ ruby2_keywords (>= 0.0.5)
modernizr-rails (2.7.1)
modulejs-rails (2.2.0.0)
railties (>= 4.0)
- multipart-post (2.1.1)
- nio4r (2.5.9)
- nokogiri (1.13.10)
- mini_portile2 (~> 2.8.0)
+ multipart-post (2.4.1)
+ net-imap (0.5.1)
+ date
+ net-protocol
+ net-pop (0.1.2)
+ net-protocol
+ net-protocol (0.2.2)
+ timeout
+ net-smtp (0.5.0)
+ net-protocol
+ nio4r (2.7.4)
+ nokogiri (1.16.7-aarch64-linux)
+ racc (~> 1.4)
+ nokogiri (1.16.7-arm-linux)
+ racc (~> 1.4)
+ nokogiri (1.16.7-arm64-darwin)
racc (~> 1.4)
- nokogiri (1.13.10-aarch64-linux)
+ nokogiri (1.16.7-x86-linux)
racc (~> 1.4)
- nokogiri (1.13.10-x86_64-darwin)
+ nokogiri (1.16.7-x86_64-darwin)
racc (~> 1.4)
- nokogiri (1.13.10-x86_64-linux)
+ nokogiri (1.16.7-x86_64-linux)
racc (~> 1.4)
- parallel (1.22.1)
- parser (3.1.1.0)
+ parallel (1.26.3)
+ parser (3.3.6.0)
ast (~> 2.4.1)
- prometheus-client (4.0.0)
- public_suffix (5.0.0)
- puma (5.6.7)
+ racc
+ prometheus-client (4.2.3)
+ base64
+ psych (5.2.0)
+ stringio
+ public_suffix (6.0.1)
+ puma (6.4.3)
nio4r (~> 2.0)
- puma-metrics (1.2.5)
+ puma-metrics (1.4.0)
prometheus-client (>= 0.10)
- puma (>= 5.0)
- racc (1.6.2)
- rack (2.2.8)
- rack-test (1.1.0)
- rack (>= 1.0, < 3)
- rails (5.2.7)
- actioncable (= 5.2.7)
- actionmailer (= 5.2.7)
- actionpack (= 5.2.7)
- actionview (= 5.2.7)
- activejob (= 5.2.7)
- activemodel (= 5.2.7)
- activerecord (= 5.2.7)
- activestorage (= 5.2.7)
- activesupport (= 5.2.7)
- bundler (>= 1.3.0)
- railties (= 5.2.7)
- sprockets-rails (>= 2.0.0)
- rails-dom-testing (2.0.3)
- activesupport (>= 4.2.0)
+ puma (>= 6.0)
+ racc (1.8.1)
+ rack (3.1.8)
+ rack-session (2.0.0)
+ rack (>= 3.0.0)
+ rack-test (2.1.0)
+ rack (>= 1.3)
+ rackup (2.2.1)
+ rack (>= 3)
+ rails (7.2.2)
+ actioncable (= 7.2.2)
+ actionmailbox (= 7.2.2)
+ actionmailer (= 7.2.2)
+ actionpack (= 7.2.2)
+ actiontext (= 7.2.2)
+ actionview (= 7.2.2)
+ activejob (= 7.2.2)
+ activemodel (= 7.2.2)
+ activerecord (= 7.2.2)
+ activestorage (= 7.2.2)
+ activesupport (= 7.2.2)
+ bundler (>= 1.15.0)
+ railties (= 7.2.2)
+ rails-dom-testing (2.2.0)
+ activesupport (>= 5.0.0)
+ minitest
nokogiri (>= 1.6)
- rails-html-sanitizer (1.4.4)
- loofah (~> 2.19, >= 2.19.1)
- railties (5.2.7)
- actionpack (= 5.2.7)
- activesupport (= 5.2.7)
- method_source
- rake (>= 0.8.7)
- thor (>= 0.19.0, < 2.0)
+ rails-html-sanitizer (1.6.0)
+ loofah (~> 2.21)
+ nokogiri (~> 1.14)
+ railties (7.2.2)
+ actionpack (= 7.2.2)
+ activesupport (= 7.2.2)
+ irb (~> 1.13)
+ rackup (>= 1.0.0)
+ rake (>= 12.2)
+ thor (~> 1.0, >= 1.2.2)
+ zeitwerk (~> 2.6)
rainbow (3.1.1)
- rake (13.0.6)
- rb-fsevent (0.11.1)
- rb-inotify (0.10.1)
+ rake (13.2.1)
+ rb-fsevent (0.11.2)
+ rb-inotify (0.11.1)
ffi (~> 1.0)
rb-readline (0.5.5)
- rdoc (6.3.3)
- regexp_parser (2.2.1)
- request_store (1.5.1)
+ rdoc (6.7.0)
+ psych (>= 4.0.0)
+ regexp_parser (2.9.2)
+ reline (0.5.11)
+ io-console (~> 0.5)
+ request_store (1.7.0)
rack (>= 1.4)
- rexml (3.2.5)
- rubocop (1.26.1)
+ rexml (3.3.9)
+ rubocop (1.68.0)
+ json (~> 2.3)
+ language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
- parser (>= 3.1.0.0)
+ parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
- regexp_parser (>= 1.8, < 3.0)
- rexml
- rubocop-ast (>= 1.16.0, < 2.0)
+ regexp_parser (>= 2.4, < 3.0)
+ rubocop-ast (>= 1.32.2, < 2.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (>= 1.4.0, < 3.0)
- rubocop-ast (1.16.0)
- parser (>= 3.1.1.0)
- rubocop-rails (2.14.2)
+ unicode-display_width (>= 2.4.0, < 3.0)
+ rubocop-ast (1.36.1)
+ parser (>= 3.3.1.0)
+ rubocop-rails (2.27.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
- rubocop (>= 1.7.0, < 2.0)
- ruby-progressbar (1.11.0)
+ rubocop (>= 1.52.0, < 2.0)
+ rubocop-ast (>= 1.31.1, < 2.0)
+ ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
- ruby_parser (3.19.0)
- sexp_processor (~> 4.16)
- rubygems-update (3.4.22)
+ rubygems-update (3.5.23)
rubyzip (2.3.2)
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.0.8)
- 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)
- sdoc (2.3.1)
- rdoc (>= 5.0, < 6.4.0)
- selenium-webdriver (4.1.0)
- childprocess (>= 0.5, < 5.0)
+ sassc-rails (2.1.2)
+ railties (>= 4.0.0)
+ sassc (>= 2.0)
+ sprockets (> 3.0)
+ sprockets-rails
+ tilt
+ sdoc (2.6.1)
+ rdoc (>= 5.0)
+ securerandom (0.3.2)
+ selenium-webdriver (4.10.0)
rexml (~> 3.2, >= 3.2.5)
- rubyzip (>= 1.2.2)
- sentry-rails (5.2.1)
+ rubyzip (>= 1.2.2, < 3.0)
+ websocket (~> 1.0)
+ sentry-rails (5.21.0)
railties (>= 5.0)
- sentry-ruby-core (~> 5.2.1)
- sentry-ruby-core (5.2.1)
- concurrent-ruby
- sexp_processor (4.16.0)
- simplecov (0.21.2)
+ sentry-ruby (~> 5.21.0)
+ sentry-ruby (5.21.0)
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
- simplecov-html (0.12.3)
+ simplecov-html (0.13.1)
simplecov_json_formatter (0.1.4)
- sprockets (3.7.2)
+ sprockets (4.2.1)
concurrent-ruby (~> 1.0)
- rack (> 1, < 3)
- sprockets-rails (3.4.2)
- actionpack (>= 5.2)
- activesupport (>= 5.2)
+ rack (>= 2.2.4, < 4)
+ sprockets-rails (3.5.2)
+ actionpack (>= 6.1)
+ activesupport (>= 6.1)
sprockets (>= 3.0.0)
- stackprof (0.2.19)
- temple (0.8.2)
- thor (1.2.2)
- thread_safe (0.3.6)
- tilt (2.0.10)
- tzinfo (1.2.11)
- thread_safe (~> 0.1)
- uglifier (4.2.0)
+ stackprof (0.2.26)
+ stringio (3.1.2)
+ temple (0.10.3)
+ thor (1.3.2)
+ tilt (2.4.0)
+ timeout (0.4.2)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ uglifier (4.2.1)
execjs (>= 0.3.0, < 3)
- unicode-display_width (2.1.0)
- vcr (6.1.0)
- webdrivers (5.0.0)
+ unicode-display_width (2.6.0)
+ useragent (0.16.10)
+ vcr (6.3.1)
+ base64
+ webdrivers (5.3.1)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
- selenium-webdriver (~> 4.0)
- webmock (3.14.0)
+ selenium-webdriver (~> 4.0, < 4.11)
+ webmock (3.24.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
- websocket-driver (0.7.5)
+ websocket (1.2.11)
+ websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
yajl-ruby (1.4.3)
+ zeitwerk (2.7.1)
+
+GEM
+ remote: https://rubygems.pkg.github.com/epimorphics/
+ specs:
+ data_services_api (1.5.1)
+ faraday_middleware (~> 1.2.0)
+ json (~> 2.6.1)
+ yajl-ruby (~> 1.4.1)
+ json_rails_logger (1.0.3)
+ json
+ lograge
+ railties
+ lr_common_styles (2.1.3)
+ bootstrap-sass
+ font-awesome-rails
+ govuk_elements_rails (= 3.0.2)
+ govuk_frontend_toolkit
+ govuk_template
+ haml-rails
+ jquery-rails
+ lodash-rails
+ modernizr-rails
+ modulejs-rails
+ rails
+ sass-rails
PLATFORMS
- -darwin-20
aarch64-linux
- ruby
- x86_64-darwin-17
- x86_64-darwin-21
+ aarch64-linux-gnu
+ aarch64-linux-musl
+ arm-linux
+ arm-linux-gnu
+ arm-linux-musl
+ arm64-darwin
+ x86-linux
+ x86-linux-gnu
+ x86-linux-musl
+ x86_64-darwin
x86_64-linux
+ x86_64-linux-gnu
+ x86_64-linux-musl
DEPENDENCIES
bootstrap-sass
@@ -373,8 +468,8 @@ DEPENDENCIES
capybara
capybara-selenium
capybara_minitest_spec
- data_services_api (~> 1.3.3)!
- execjs (< 2.8.0)
+ data_services_api!
+ execjs
faraday
faraday_middleware
flamegraph
@@ -385,33 +480,33 @@ DEPENDENCIES
jquery-rails
jquery-ui-rails
json_expressions
- json_rails_logger (~> 1.0.0)!
- libv8-node (>= 16.10.0.0)
- lr_common_styles (~> 2.0)!
+ json_rails_logger!
+ libv8-node
+ lr_common_styles!
memory_profiler
minitest-rails
minitest-reporters
minitest-spec-rails
minitest-vcr
mocha
- prometheus-client (~> 4.0)
+ prometheus-client
puma
puma-metrics
- rails (< 6.0.0)
+ rails
rb-readline
rubocop
rubocop-rails
- rubygems-update (~> 3.4, >= 3.4.22)
+ rubygems-update
sass-rails
sdoc
- sentry-rails (~> 5.2)
+ sentry-rails
simplecov
stackprof
- uglifier (>= 1.3.0)
+ uglifier
vcr
webdrivers
webmock
yajl-ruby
BUNDLED WITH
- 2.4.4
+ 2.5.20
diff --git a/Makefile b/Makefile
index 1a55bcb..e93a082 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,10 @@
.PHONY: assets auth check clean image lint local publish realclean run tag test vars
ACCOUNT?=$(shell aws sts get-caller-identity | jq -r .Account)
-ALPINE_VERSION?=3.16
+ALPINE_VERSION?=3.20
AWS_REGION?=eu-west-1
BUNDLER_VERSION?=$(shell tail -1 Gemfile.lock | tr -d ' ')
-ECR?=${ACCOUNT}.dkr.ecr.eu-west-1.amazonaws.com
+ECR?=${ACCOUNT}.dkr.ecr.${AWS_REGION}.amazonaws.com
GPR_OWNER?=epimorphics
NAME?=$(shell awk -F: '$$1=="name" {print $$2}' deployment.yaml | sed -e 's/[[:blank:]]//g')
PAT?=$(shell read -p 'Github access token:' TOKEN; echo $$TOKEN)
diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js
new file mode 100644
index 0000000..b16e53d
--- /dev/null
+++ b/app/assets/config/manifest.js
@@ -0,0 +1,3 @@
+//= link_tree ../images
+//= link_directory ../javascripts .js
+//= link_directory ../stylesheets .css
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 6d4d1e2..2e77cd6 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -15,3 +15,11 @@
//= require bootstrap
//= require lr_common_styles/application
//= require_tree .
+
+//= link favicon/apple-touch-icon.png
+//= link favicon/favicon-32x32.png
+//= link favicon/favicon-16x16.png
+//= link favicon/manifest.json
+//= link favicon/safari-pinned-tab.svg
+//= link favicon/favicon.ico
+//= link favicon/browserconfig.xml
diff --git a/app/assets/stylesheets/ppd.scss b/app/assets/stylesheets/ppd.scss
index 82e7858..3c1ae3f 100644
--- a/app/assets/stylesheets/ppd.scss
+++ b/app/assets/stylesheets/ppd.scss
@@ -7,6 +7,7 @@
.form-control {
border: 1px solid #646464;
+ border-radius: 4px !important;
}
.control-legend {
@@ -167,7 +168,7 @@
}
.transaction-category {
- background-color: lighten( $lr-logo-grey, 20% );
+ background-color: lighten( #a7a5a6, 20% );
padding: 3px;
border-radius: 3px;
}
diff --git a/public/assets/html5shiv.js b/public/assets/html5shiv.js
deleted file mode 100644
index 072b9f3..0000000
--- a/public/assets/html5shiv.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
-* @preserve HTML5 Shiv 3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
-*/
-!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=s.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=r[a[p]];return b||(b={},q++,a[p]=q,r[q]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():o.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||n.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function i(a){a||(a=b);var d=e(a);return!s.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||h(a,d),a}var j,k,l="3.7.1",m=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,o=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",q=0,r={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var s={elements:m.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:l,shivCSS:m.shivCSS!==!1,supportsUnknownElements:k,shivMethods:m.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=s,i(b)}(this,document);
diff --git a/public/assets/respond.min.js b/public/assets/respond.min.js
deleted file mode 100644
index d5dc626..0000000
--- a/public/assets/respond.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*! Respond.js v1.4.2: min/max-width media query polyfill
- * Copyright 2014 Scott Jehl
- * Licensed under MIT
- * http://j.mp/respondjs */
-
-!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b