diff --git a/Gemfile b/Gemfile index e03fc22c8..7606f37c7 100644 --- a/Gemfile +++ b/Gemfile @@ -67,7 +67,7 @@ gem 'premailer-rails' gem 'puma' # Use Puma as the app server gem 'pundit' gem 'rack-attack' -gem 'rails' +gem 'rails', '~> 7.0' gem 'rails-i18n' # Locales par défaut gem 'rake-progressbar', require: false gem 'redcarpet' diff --git a/Gemfile.lock b/Gemfile.lock index e3a173acb..1c584771f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,40 +4,47 @@ GEM aasm (5.2.0) concurrent-ruby (~> 1.0) acsv (0.0.1) - actioncable (6.1.7.2) - actionpack (= 6.1.7.2) - activesupport (= 6.1.7.2) + actioncable (7.0.4.2) + actionpack (= 7.0.4.2) + activesupport (= 7.0.4.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.2) - actionpack (= 6.1.7.2) - activejob (= 6.1.7.2) - activerecord (= 6.1.7.2) - activestorage (= 6.1.7.2) - activesupport (= 6.1.7.2) + actionmailbox (7.0.4.2) + actionpack (= 7.0.4.2) + activejob (= 7.0.4.2) + activerecord (= 7.0.4.2) + activestorage (= 7.0.4.2) + activesupport (= 7.0.4.2) mail (>= 2.7.1) - actionmailer (6.1.7.2) - actionpack (= 6.1.7.2) - actionview (= 6.1.7.2) - activejob (= 6.1.7.2) - activesupport (= 6.1.7.2) + net-imap + net-pop + net-smtp + actionmailer (7.0.4.2) + actionpack (= 7.0.4.2) + actionview (= 7.0.4.2) + activejob (= 7.0.4.2) + activesupport (= 7.0.4.2) mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp rails-dom-testing (~> 2.0) - actionpack (6.1.7.2) - actionview (= 6.1.7.2) - activesupport (= 6.1.7.2) - rack (~> 2.0, >= 2.0.9) + actionpack (7.0.4.2) + actionview (= 7.0.4.2) + activesupport (= 7.0.4.2) + rack (~> 2.0, >= 2.2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.2) - actionpack (= 6.1.7.2) - activerecord (= 6.1.7.2) - activestorage (= 6.1.7.2) - activesupport (= 6.1.7.2) + actiontext (7.0.4.2) + actionpack (= 7.0.4.2) + activerecord (= 7.0.4.2) + activestorage (= 7.0.4.2) + activesupport (= 7.0.4.2) + globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (6.1.7.2) - activesupport (= 6.1.7.2) + actionview (7.0.4.2) + activesupport (= 7.0.4.2) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -45,9 +52,9 @@ GEM active_link_to (1.0.5) actionpack addressable - active_model_serializers (0.10.12) - actionpack (>= 4.1, < 6.2) - activemodel (>= 4.1, < 6.2) + active_model_serializers (0.10.13) + actionpack (>= 4.1, < 7.1) + activemodel (>= 4.1, < 7.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) active_storage_validations (0.9.6) @@ -55,31 +62,30 @@ GEM activemodel (>= 5.2.0) activestorage (>= 5.2.0) activesupport (>= 5.2.0) - activejob (6.1.7.2) - activesupport (= 6.1.7.2) + activejob (7.0.4.2) + activesupport (= 7.0.4.2) globalid (>= 0.3.6) - activemodel (6.1.7.2) - activesupport (= 6.1.7.2) - activerecord (6.1.7.2) - activemodel (= 6.1.7.2) - activesupport (= 6.1.7.2) - activestorage (6.1.7.2) - actionpack (= 6.1.7.2) - activejob (= 6.1.7.2) - activerecord (= 6.1.7.2) - activesupport (= 6.1.7.2) + activemodel (7.0.4.2) + activesupport (= 7.0.4.2) + activerecord (7.0.4.2) + activemodel (= 7.0.4.2) + activesupport (= 7.0.4.2) + activestorage (7.0.4.2) + actionpack (= 7.0.4.2) + activejob (= 7.0.4.2) + activerecord (= 7.0.4.2) + activesupport (= 7.0.4.2) marcel (~> 1.0) mini_mime (>= 1.1.0) activestorage-openstack (1.5.1) fog-openstack (~> 1.0) marcel rails (>= 5.2.2) - activesupport (6.1.7.2) + activesupport (7.0.4.2) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - zeitwerk (~> 2.3) addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) administrate (0.18.0) @@ -95,12 +101,10 @@ GEM aes_key_wrap (1.1.0) after_party (1.11.2) anchored (1.1.0) - annotate (3.1.1) - activerecord (>= 3.2, < 7.0) + annotate (3.2.0) + activerecord (>= 3.2, < 8.0) rake (>= 10.4, < 14.0) ast (2.4.2) - attr_encrypted (3.1.0) - encryptor (~> 3.0.0) attr_required (1.0.1) axe-core-api (4.2.1) capybara @@ -119,7 +123,7 @@ GEM axlsx_styler (1.1.0) activesupport (>= 3.1) caxlsx (>= 2.0.2) - bcrypt (3.1.16) + bcrypt (3.1.18) better_html (1.0.16) actionview (>= 4.0) activesupport (>= 4.0) @@ -176,14 +180,14 @@ GEM addressable daemons (1.3.1) date (3.3.3) - deep_cloneable (3.0.0) - activerecord (>= 3.1.0, < 7) + deep_cloneable (3.2.0) + activerecord (>= 3.1.0, < 8) delayed_cron_job (0.7.4) delayed_job (>= 4.1) delayed_job (4.1.11) activesupport (>= 3.0, < 8.0) - delayed_job_active_record (4.1.5) - activerecord (>= 3.0, < 6.2) + delayed_job_active_record (4.1.7) + activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) delayed_job_web (1.4.4) activerecord (> 3.0.0) @@ -192,7 +196,7 @@ GEM sinatra (>= 1.4.4) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devise (4.7.3) + devise (4.9.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -200,15 +204,14 @@ GEM warden (~> 1.2.3) devise-i18n (1.9.2) devise (>= 4.7.1) - devise-two-factor (4.0.2) - activesupport (< 7.1) - attr_encrypted (>= 1.3, < 4, != 2) + devise-two-factor (5.0.0) + activesupport (~> 7.0) devise (~> 4.0) - railties (< 7.1) + railties (~> 7.0) rotp (~> 6.0) diff-lcs (1.4.4) - discard (1.2.0) - activerecord (>= 4.2, < 7) + discard (1.2.1) + activerecord (>= 4.2, < 8) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (2.7.6) @@ -224,7 +227,6 @@ GEM concurrent-ruby (~> 1.0) http (>= 3.0) ruby2_keywords - encryptor (3.0.0) erubi (1.12.0) et-orbi (1.2.4) tzinfo @@ -527,21 +529,20 @@ GEM rack_session_access (0.2.0) builder (>= 2.0.0) rack (>= 1.0.0) - rails (6.1.7.2) - actioncable (= 6.1.7.2) - actionmailbox (= 6.1.7.2) - actionmailer (= 6.1.7.2) - actionpack (= 6.1.7.2) - actiontext (= 6.1.7.2) - actionview (= 6.1.7.2) - activejob (= 6.1.7.2) - activemodel (= 6.1.7.2) - activerecord (= 6.1.7.2) - activestorage (= 6.1.7.2) - activesupport (= 6.1.7.2) + rails (7.0.4.2) + actioncable (= 7.0.4.2) + actionmailbox (= 7.0.4.2) + actionmailer (= 7.0.4.2) + actionpack (= 7.0.4.2) + actiontext (= 7.0.4.2) + actionview (= 7.0.4.2) + activejob (= 7.0.4.2) + activemodel (= 7.0.4.2) + activerecord (= 7.0.4.2) + activestorage (= 7.0.4.2) + activesupport (= 7.0.4.2) bundler (>= 1.15.0) - railties (= 6.1.7.2) - sprockets-rails (>= 2.0.0) + railties (= 7.0.4.2) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -559,12 +560,13 @@ GEM rails-i18n (7.0.3) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (6.1.7.2) - actionpack (= 6.1.7.2) - activesupport (= 6.1.7.2) + railties (7.0.4.2) + actionpack (= 7.0.4.2) + activesupport (= 7.0.4.2) method_source rake (>= 12.2) thor (~> 1.0) + zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.0.6) rake-progressbar (0.0.5) @@ -575,9 +577,9 @@ GEM regexp_parser (2.8.0) request_store (1.5.0) rack (>= 1.4) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.0) + actionpack (>= 5.2) + railties (>= 5.2) rest-client (2.1.0) http-accept (>= 1.7.0, < 2.0) http-cookie (>= 1.0.2, < 2.0) @@ -591,7 +593,7 @@ GEM builder (>= 3.0) dry-inflector (~> 0.1) rubyzip (>= 1.0) - rotp (6.2.0) + rotp (6.2.2) rouge (3.30.0) rqrcode (1.2.0) chunky_png (~> 1.0) @@ -713,7 +715,7 @@ GEM axlsx_styler (>= 1.0.0, < 2) caxlsx (>= 2.0.2, < 4) rodf (>= 1.0.0, < 2) - spring (2.1.1) + spring (4.1.1) spring-commands-rspec (1.0.4) spring (>= 0.9.1) sprockets (4.2.0) @@ -761,8 +763,9 @@ GEM activemodel (>= 3.0.0) public_suffix vcr (6.1.0) - view_component (2.63.0) - activesupport (>= 5.0.0, < 8.0) + view_component (2.82.0) + activesupport (>= 5.2.0, < 8.0) + concurrent-ruby (~> 1.0) method_source (~> 1.0) virtus (2.0.0) axiom-types (~> 0.1) @@ -905,7 +908,7 @@ DEPENDENCIES rack-attack rack-mini-profiler rack_session_access - rails + rails (~> 7.0) rails-controller-testing rails-erd rails-i18n diff --git a/config/initializers/pg_interval_5_2.rb b/config/initializers/pg_interval_5_2.rb deleted file mode 100644 index fbd6049b0..000000000 --- a/config/initializers/pg_interval_5_2.rb +++ /dev/null @@ -1,94 +0,0 @@ -# frozen_string_literal: true - -# from https://gist.github.com/Envek/7077bfc36b17233f60ad - -# PostgreSQL interval data type support from https://github.com/rails/rails/pull/16919 -# Works with both Rails 5.2 and 6.0 -# Place this file to config/initializers/ - -require "active_support/duration" - -# activerecord/lib/active_record/connection_adapters/postgresql/oid/interval.rb -module ActiveRecord - module ConnectionAdapters - module PostgreSQL - module OID # :nodoc: - class Interval < Type::Value # :nodoc: - def type - :interval - end - - def cast_value(value) - case value - when ::ActiveSupport::Duration - value - when ::String - begin - ::ActiveSupport::Duration.parse(value) - rescue ::ActiveSupport::Duration::ISO8601Parser::ParsingError - nil - end - else - super - end - end - - def serialize(value) - case value - when ::ActiveSupport::Duration - value.iso8601(precision: self.precision) - when ::Numeric - # Sometimes operations on Times returns just float number of seconds so we need to handle that. - # Example: Time.current - (Time.current + 1.hour) # => -3600.000001776 (Float) - value.seconds.iso8601(precision: self.precision) - else - super - end - end - - def type_cast_for_schema(value) - serialize(value).inspect - end - end - end - end - end -end - -# activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb -require 'active_record/connection_adapters/postgresql_adapter' -PostgreSQLAdapterWithInterval = Module.new do - def initialize_type_map(m = type_map) - super - m.register_type "interval" do |*_args, sql_type| - precision = extract_precision(sql_type) - ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::OID::Interval.new(precision: precision) - end - end - - def configure_connection - super - execute('SET intervalstyle = iso_8601', 'SCHEMA') - end - - ActiveRecord::Type.register(:interval, ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::OID::Interval, adapter: :postgresql) -end -ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(PostgreSQLAdapterWithInterval) - -# activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb -require 'active_record/connection_adapters/postgresql/schema_statements' -module SchemaStatementsWithInterval - def type_to_sql(type, limit: nil, precision: nil, scale: nil, array: nil, **) - case type.to_s - when 'interval' - case precision - when nil; "interval" - when 0..6; "interval(#{precision})" - else raise(ActiveRecordError, "No interval type has precision of #{precision}. The allowed range of precision is from 0 to 6") - end - else - super - end - end -end -ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements.prepend(SchemaStatementsWithInterval)