-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Labels
Description
Describe the bug
After updating my Gems, I get this error in my Rspec tests that produce requests:
$ util/rspec.sh spec/requests/export_api/v1/clients_spec.rb
Running via Spring preloader in process 3443
[rspec-sidekiq] WARNING! Sidekiq will *NOT* process jobs in this environment. See https://github.com/wspurgin/rspec-sidekiq/wiki/FAQ-&-Troubleshooting
2024-07-03T11:22:07.875Z pid=3443 tid=50z INFO: Sidekiq 7.3.0 connecting to Redis with options {:size=>10, :pool_name=>"internal", :url=>"redis://redis:6379/0"}
F
Failures:
1) ExportApi::V1::Clients fetching clients as JSON GET /export_api/v1/clients returns the clients
Failure/Error: super(path, **kwarg)
NoMethodError:
undefined method `read' for nil:NilClass
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/context_builder.rb:82:in `get_body'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/context_builder.rb:51:in `apply_to_request'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/context_builder.rb:34:in `block in build'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/context_builder.rb:33:in `build'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/agent.rb:235:in `build_context'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm.rb:323:in `build_context'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/middleware.rb:40:in `rescue in call'
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/middleware.rb:37:in `call'
# /usr/local/bundle/ruby/3.2.0/gems/rack-cors-2.0.2/lib/rack/cors.rb:102:in `call'
# /usr/local/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/engine.rb:536:in `call'
# /usr/local/bundle/ruby/3.2.0/gems/rack-test-2.1.0/lib/rack/test.rb:360:in `process_request'
# /usr/local/bundle/ruby/3.2.0/gems/rack-test-2.1.0/lib/rack/test.rb:153:in `request'
# ./spec/support/json_formattable.rb:14:in `block in <module:ModifiedAcceptHeaders>'
# ./spec/requests/export_api/v1/clients_spec.rb:13:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:106:in `block (3 levels) in <main>'
# /usr/local/bundle/ruby/3.2.0/gems/database_cleaner-core-2.0.1/lib/database_cleaner/strategy.rb:30:in `cleaning'
# /usr/local/bundle/ruby/3.2.0/gems/database_cleaner-core-2.0.1/lib/database_cleaner/cleaners.rb:34:in `block (2 levels) in cleaning'
# /usr/local/bundle/ruby/3.2.0/gems/database_cleaner-core-2.0.1/lib/database_cleaner/cleaners.rb:35:in `cleaning'
# ./spec/rails_helper.rb:105:in `block (2 levels) in <main>'
# /usr/local/bundle/ruby/3.2.0/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `load'
# /usr/local/bundle/ruby/3.2.0/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `call'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/command_wrapper.rb:38:in `call'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application.rb:226:in `block in serve'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application.rb:190:in `fork'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application.rb:190:in `serve'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application.rb:153:in `block in run'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application.rb:147:in `loop'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application.rb:147:in `run'
# /usr/local/bundle/ruby/3.2.0/gems/spring-4.2.1/lib/spring/application/boot.rb:25:in `<top (required)>'
# -e:1:in `<main>'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `read' for nil:NilClass
# /usr/local/bundle/ruby/3.2.0/gems/elastic-apm-4.7.3/lib/elastic_apm/context_builder.rb:82:in `get_body'
Steps to reproduce
Hard to reproduce from scratch … but I can provide the exact request data which shows that the body is indeed nil. When I dump the req object in the get_body function, you can see it has no body:
#<Rack::Request:0x0000ffff65a7fae8
@env={
"REQUEST_METHOD"=>"GET",
"SERVER_NAME"=>"www.example.com",
"SERVER_PORT"=>"80",
"SERVER_PROTOCOL"=>"HTTP/1.0",
"QUERY_STRING"=>"api_key=export-8QDwBg9GbF5XH6GQkDdNEoDcB63MGWnTgEAM7DXmUj9EXQWZwECsWkyVjs4x3ggJ",
"PATH_INFO"=>"/export_api/v1/clients",
"rack.url_scheme"=>"http",
"HTTPS"=>"off",
"SCRIPT_NAME"=>"",
"rack.errors"=>#<StringIO:0x0000ffff65b01e80>, "rack.test"=>true, "REMOTE_ADDR"=>"127.0.0.1",
"REQUEST_URI"=>"/export_api/v1/clients",
"HTTP_HOST"=>"www.example.com",
"HTTP_ACCEPT"=>"application/json",
"HTTP_COOKIE"=>"",
"action_dispatch.parameter_filter"=>[:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn], "action_dispatch.redirect_filter"=>[], "action_dispatch.secret_key_base"=>"849922813286880fcc2b92672b90930246667ffa6013bd27eca3b2e390d65d1288341434f46fa9d4c3ae374485e89ca1e9edccaf0aa2b86571d17debb6012c03",
"action_dispatch.show_exceptions"=>:all,
"action_dispatch.show_detailed_exceptions"=>true,
"action_dispatch.log_rescued_responses"=>true,
"action_dispatch.debug_exception_log_level"=>4,
"action_dispatch.logger"=>#<ActiveSupport::BroadcastLogger:0x0000ffffaea93518
@broadcasts=[#<ActiveSupport::Logger:0x0000ffffaea56280
@level=0,
@progname=nil,
@default_formatter=#<Logger::Formatter:0x0000ffffaeaefc00
@datetime_format=nil>,
@formatter=#<ActiveSupport::Logger::SimpleFormatter:0x0000ffffaeaef7f0
@datetime_format=nil>,
@logdev=#<Logger::LogDevice:0x0000ffffaea56190
@shift_period_suffix="%Y%m%d",
@shift_size=10485760,
@shift_age=10,
@filename="/home/surfmeterserver/log/development.log",
@dev=#<File:/home/surfmeterserver/log/development.log>,
@binmode=false,
@mon_data=#<Monitor:0x0000ffffaeaefa48>,
@mon_data_owner_object_id=9000>,
@level_override={},
@local_level_key=:logger_thread_safe_level_15520>],
@progname="Broadcast",
@formatter=#<ActiveSupport::Logger::SimpleFormatter:0x0000ffffaeaef7f0
@datetime_format=nil>>, "action_dispatch.backtrace_cleaner"=>#<Rails::BacktraceCleaner:0x0000ffffae846c38
@silencers=[#<Proc:0x0000ffffae846828 /usr/local/bundle/ruby/3.2.0/gems/activesupport-7.1.3.4/lib/active_support/backtrace_cleaner.rb:120>, #<Proc:0x0000ffffae8467b0 /usr/local/bundle/ruby/3.2.0/gems/activesupport-7.1.3.4/lib/active_support/backtrace_cleaner.rb:124>, #<Proc:0x0000ffffae8465a8 /usr/local/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/backtrace_cleaner.rb:24>],
@filters=[#<Proc:0x0000ffffae8468c8 /usr/local/bundle/ruby/3.2.0/gems/activesupport-7.1.3.4/lib/active_support/backtrace_cleaner.rb:116>, #<Proc:0x0000ffffae846670 /usr/local/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/backtrace_cleaner.rb:14>, #<Proc:0x0000ffffae846620 /usr/local/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/backtrace_cleaner.rb:17>],
@root="/home/surfmeterserver/">, "action_dispatch.key_generator"=>#<ActiveSupport::CachingKeyGenerator:0x0000ffffae7197c0
@key_generator=#<ActiveSupport::KeyGenerator:0x0000000000f988>,
@cache_keys=#<Concurrent::Map:0x0000ffffae719770 entries=3 default_proc=nil>>, "action_dispatch.http_auth_salt"=>"http authentication",
"action_dispatch.signed_cookie_salt"=>"signed cookie",
"action_dispatch.encrypted_cookie_salt"=>"encrypted cookie",
"action_dispatch.encrypted_signed_cookie_salt"=>"signed encrypted cookie",
"action_dispatch.authenticated_encrypted_cookie_salt"=>"authenticated encrypted cookie",
"action_dispatch.use_authenticated_cookie_encryption"=>true, "action_dispatch.encrypted_cookie_cipher"=>nil, "action_dispatch.signed_cookie_digest"=>nil, "action_dispatch.cookies_serializer"=>:json, "action_dispatch.cookies_digest"=>nil, "action_dispatch.cookies_rotations"=>#<ActiveSupport::Messages::RotationConfiguration:0x0000ffffb1b86eb8
@signed=[],
@encrypted=[]>, "action_dispatch.cookies_same_site_protection"=>#<Proc:0x0000ffff65b01020 /usr/local/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/application.rb:705>, "action_dispatch.use_cookies_with_metadata"=>true, "action_dispatch.content_security_policy"=>nil, "action_dispatch.content_security_policy_report_only"=>false, "action_dispatch.content_security_policy_nonce_generator"=>nil, "action_dispatch.content_security_policy_nonce_directives"=>nil, "action_dispatch.permissions_policy"=>nil, "action_dispatch.routes"=>#<ActionDispatch::Routing::RouteSet:0x0000ffffae300508>, "ROUTES_15880_SCRIPT_NAME"=>"",
"ORIGINAL_FULLPATH"=>"/export_api/v1/clients?api_key=export-8QDwBg9GbF5XH6GQkDdNEoDcB63MGWnTgEAM7DXmUj9EXQWZwECsWkyVjs4x3ggJ",
"ORIGINAL_SCRIPT_NAME"=>"",
"rack.cors"=>#<Rack::Cors::Result:0x0000ffff65b002d8
@preflight=false,
@hit=false,
@miss_reason="no-origin">},
@params=nil>
Expected behavior
The tests should pass.
Environment
- OS: Linux (Docker)
- Ruby version: 3.2.2
- Framework and version: Rails 7.1
- APM Server version: N/A
- Agent version: 4.7.3
Additional context
My backtrace shows a middleware (json_formattable.rb) as the last internal source of the error, but the error persistts when I comment out that middleware, so it is not at fault.
Per the discussion here, I would think that elastic-apm simply needs to handle the body being nil with Rack ≥3.1.0?
Here is the exact Gemfile.lock diff:
diff --git a/surfmeter-web/Gemfile.lock b/surfmeter-web/Gemfile.lock
index e703cf4..04ae276 100644
--- a/surfmeter-web/Gemfile.lock
+++ b/surfmeter-web/Gemfile.lock
@@ -3,35 +3,35 @@ GEM
specs:
aasm (5.5.0)
concurrent-ruby (~> 1.0)
- actioncable (7.1.3.2)
- actionpack (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ actioncable (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
- actionmailbox (7.1.3.2)
- actionpack (= 7.1.3.2)
- activejob (= 7.1.3.2)
- activerecord (= 7.1.3.2)
- activestorage (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ actionmailbox (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activestorage (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
- actionmailer (7.1.3.2)
- actionpack (= 7.1.3.2)
- actionview (= 7.1.3.2)
- activejob (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ actionmailer (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ actionview (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.2)
- actionpack (7.1.3.2)
- actionview (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ actionpack (7.1.3.4)
+ actionview (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4)
@@ -39,15 +39,15 @@ GEM
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
- actiontext (7.1.3.2)
- actionpack (= 7.1.3.2)
- activerecord (= 7.1.3.2)
- activestorage (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ actiontext (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activestorage (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
- actionview (7.1.3.2)
- activesupport (= 7.1.3.2)
+ actionview (7.1.3.4)
+ activesupport (= 7.1.3.4)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
@@ -56,27 +56,27 @@ GEM
activerecord (>= 6.0)
activesupport (>= 6.0)
ruby2_keywords
- activejob (7.1.3.2)
- activesupport (= 7.1.3.2)
+ activejob (7.1.3.4)
+ activesupport (= 7.1.3.4)
globalid (>= 0.3.6)
- activemodel (7.1.3.2)
- activesupport (= 7.1.3.2)
- activerecord (7.1.3.2)
- activemodel (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ activemodel (7.1.3.4)
+ activesupport (= 7.1.3.4)
+ activerecord (7.1.3.4)
+ activemodel (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
timeout (>= 0.4.0)
- activerecord-import (1.6.0)
+ activerecord-import (1.7.0)
activerecord (>= 4.2)
- activerecord-postgis-adapter (9.0.1)
+ activerecord-postgis-adapter (9.0.2)
activerecord (~> 7.1.0)
rgeo-activerecord (~> 7.0.0)
- activestorage (7.1.3.2)
- actionpack (= 7.1.3.2)
- activejob (= 7.1.3.2)
- activerecord (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ activestorage (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
marcel (~> 1.0)
- activesupport (7.1.3.2)
+ activesupport (7.1.3.4)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -86,30 +86,31 @@ GEM
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
- addressable (2.8.6)
- public_suffix (>= 2.0.2, < 6.0)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
api-pagination (5.0.0)
ast (2.4.2)
base64 (0.2.0)
bcrypt (3.1.20)
- bigdecimal (3.1.7)
+ bigdecimal (3.1.8)
bindex (0.8.1)
blueprinter (1.0.2)
bootsnap (1.18.3)
msgpack (~> 1.2)
- browser (5.3.1)
- builder (3.2.4)
+ browser (6.0.0)
+ builder (3.3.0)
byebug (11.1.3)
- cancancan (3.5.0)
+ cancancan (3.6.1)
choice (0.2.0)
- concurrent-ruby (1.2.3)
- config (5.4.0)
+ concurrent-ruby (1.3.3)
+ config (5.5.1)
deep_merge (~> 1.2, >= 1.2.1)
connection_pool (2.4.1)
crack (1.0.0)
bigdecimal
rexml
crass (1.0.6)
+ csv (3.3.0)
database_cleaner (2.0.2)
database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.1.0)
@@ -118,7 +119,7 @@ GEM
database_cleaner-core (2.0.1)
date (3.3.4)
deep_merge (1.2.2)
- devise (4.9.3)
+ devise (4.9.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
@@ -128,31 +129,31 @@ GEM
docile (1.4.0)
domain_name (0.6.20240107)
drb (2.2.1)
- elastic-apm (4.7.2)
+ elastic-apm (4.7.3)
concurrent-ruby (~> 1.0)
http (>= 3.0)
ruby2_keywords
- elasticsearch (7.17.10)
- elasticsearch-api (= 7.17.10)
- elasticsearch-transport (= 7.17.10)
- elasticsearch-api (7.17.10)
+ elastic-transport (8.3.2)
+ faraday (< 3)
multi_json
- elasticsearch-model (7.2.1)
+ elasticsearch (8.14.0)
+ elastic-transport (~> 8.3)
+ elasticsearch-api (= 8.14.0)
+ elasticsearch-api (8.14.0)
+ multi_json
+ elasticsearch-model (8.0.0)
activesupport (> 3)
- elasticsearch (~> 7)
+ elasticsearch (~> 8)
hashie
- elasticsearch-transport (7.17.10)
- faraday (>= 1, < 3)
- multi_json
- erubi (1.12.0)
+ erubi (1.13.0)
factory_bot (6.4.6)
activesupport (>= 5.0.0)
factory_bot_rails (6.4.3)
factory_bot (~> 6.4)
railties (>= 5.0.0)
- faker (3.2.3)
+ faker (3.4.1)
i18n (>= 1.8.11, < 2)
- faraday (2.9.0)
+ faraday (2.9.2)
faraday-net_http (>= 2.0, < 3.2)
faraday-net_http (3.1.0)
net-http
@@ -161,7 +162,10 @@ GEM
fast_page (0.1.6)
activerecord
activesupport
- ffi (1.16.3)
+ ffi (1.17.0-aarch64-linux-gnu)
+ ffi (1.17.0-aarch64-linux-musl)
+ ffi (1.17.0-arm64-darwin)
+ ffi (1.17.0-x86_64-linux-gnu)
ffi-compiler (1.3.2)
ffi (>= 1.15.5)
rake
@@ -171,7 +175,9 @@ GEM
ruby_parser (~> 3.0)
sexp_processor (~> 4.0)
gem-licenses (0.2.2)
- geocoder (1.8.2)
+ geocoder (1.8.3)
+ base64 (>= 0.1.0)
+ csv (>= 3.0.0)
globalid (1.2.1)
activesupport (>= 6.1)
groupdate (6.4.0)
@@ -184,23 +190,23 @@ GEM
http-cookie (~> 1.0)
http-form_data (~> 2.2)
llhttp-ffi (~> 0.5.0)
- http-cookie (1.0.5)
+ http-cookie (1.0.6)
domain_name (~> 0.5)
http-form_data (2.3.0)
- i18n (1.14.4)
+ i18n (1.14.5)
concurrent-ruby (~> 1.0)
io-console (0.7.2)
- irb (1.12.0)
- rdoc
+ irb (1.13.2)
+ rdoc (>= 4.0.0)
reline (>= 0.4.2)
- jbuilder (2.11.5)
+ jbuilder (2.12.0)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
- json (2.7.1)
+ json (2.7.2)
json_matchers (0.11.1)
json_schema
json_schema (0.21.0)
- jwt (2.8.1)
+ jwt (2.8.2)
base64
language_server-protocol (3.17.0.3)
listen (3.9.0)
@@ -209,6 +215,7 @@ GEM
llhttp-ffi (0.5.0)
ffi-compiler (~> 1.0)
rake (~> 13.0)
+ logger (1.6.0)
lograge (0.14.0)
actionpack (>= 4)
activesupport (>= 4)
@@ -227,50 +234,50 @@ GEM
net-smtp
marcel (1.0.4)
mini_mime (1.1.5)
- minitest (5.22.3)
+ minitest (5.24.1)
msgpack (1.7.2)
multi_json (1.15.0)
mustache (1.1.1)
mutex_m (0.2.0)
net-http (0.4.1)
uri
- net-imap (0.4.10)
+ net-imap (0.4.14)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
- net-smtp (0.4.0.1)
+ net-smtp (0.5.0)
net-protocol
- nio4r (2.7.1)
- nokogiri (1.16.3-aarch64-linux)
+ nio4r (2.7.3)
+ nokogiri (1.16.6-aarch64-linux)
racc (~> 1.4)
- nokogiri (1.16.3-arm64-darwin)
+ nokogiri (1.16.6-arm64-darwin)
racc (~> 1.4)
- nokogiri (1.16.3-x86_64-linux)
+ nokogiri (1.16.6-x86_64-linux)
racc (~> 1.4)
orm_adapter (0.5.0)
- pagy (7.0.11)
+ pagy (8.6.2)
paper_trail (15.1.0)
activerecord (>= 6.1)
request_store (~> 1.4)
- parallel (1.24.0)
- parser (3.3.0.5)
+ parallel (1.25.1)
+ parser (3.3.3.0)
ast (~> 2.4.1)
racc
path_expander (1.1.1)
patron (0.13.3)
pg (1.5.6)
- prometheus_exporter (2.1.0)
+ prometheus_exporter (2.1.1)
webrick
psych (5.1.2)
stringio
- public_suffix (5.0.4)
+ public_suffix (6.0.0)
puma (6.4.2)
nio4r (~> 2.0)
- racc (1.7.3)
- rack (3.0.10)
+ racc (1.8.0)
+ rack (3.1.6)
rack-cors (2.0.2)
rack (>= 2.0.0)
rack-session (2.0.0)
@@ -282,20 +289,20 @@ GEM
rackup (2.1.0)
rack (>= 3)
webrick (~> 1.8)
- rails (7.1.3.2)
- actioncable (= 7.1.3.2)
- actionmailbox (= 7.1.3.2)
- actionmailer (= 7.1.3.2)
- actionpack (= 7.1.3.2)
- actiontext (= 7.1.3.2)
- actionview (= 7.1.3.2)
- activejob (= 7.1.3.2)
- activemodel (= 7.1.3.2)
- activerecord (= 7.1.3.2)
- activestorage (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ rails (7.1.3.4)
+ actioncable (= 7.1.3.4)
+ actionmailbox (= 7.1.3.4)
+ actionmailer (= 7.1.3.4)
+ actionpack (= 7.1.3.4)
+ actiontext (= 7.1.3.4)
+ actionview (= 7.1.3.4)
+ activejob (= 7.1.3.4)
+ activemodel (= 7.1.3.4)
+ activerecord (= 7.1.3.4)
+ activestorage (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
bundler (>= 1.15.0)
- railties (= 7.1.3.2)
+ railties (= 7.1.3.4)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
@@ -308,33 +315,34 @@ GEM
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
- railties (7.1.3.2)
- actionpack (= 7.1.3.2)
- activesupport (= 7.1.3.2)
+ railties (7.1.3.4)
+ actionpack (= 7.1.3.4)
+ activesupport (= 7.1.3.4)
irb
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rainbow (3.1.1)
- rake (13.1.0)
+ rake (13.2.1)
rb-fsevent (0.11.2)
- rb-inotify (0.10.1)
+ rb-inotify (0.11.1)
ffi (~> 1.0)
- rdoc (6.6.3.1)
+ rdoc (6.7.0)
psych (>= 4.0.0)
redis (4.8.1)
- redis-client (0.21.1)
+ redis-client (0.22.2)
connection_pool
- regexp_parser (2.9.0)
- reline (0.5.0)
+ regexp_parser (2.9.2)
+ reline (0.5.9)
io-console (~> 0.5)
- request_store (1.6.0)
+ request_store (1.7.0)
rack (>= 1.4)
responders (3.1.1)
actionpack (>= 5.2)
railties (>= 5.2)
- rexml (3.2.6)
+ rexml (3.3.1)
+ strscan
rgeo (3.0.1)
rgeo-activerecord (7.0.1)
activerecord (>= 5.0)
@@ -345,13 +353,13 @@ GEM
rspec-mocks (~> 3.13.0)
rspec-core (3.13.0)
rspec-support (~> 3.13.0)
- rspec-expectations (3.13.0)
+ rspec-expectations (3.13.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-mocks (3.13.0)
+ rspec-mocks (3.13.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
- rspec-rails (6.1.2)
+ rspec-rails (6.1.3)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
@@ -359,7 +367,7 @@ GEM
rspec-expectations (~> 3.13)
rspec-mocks (~> 3.13)
rspec-support (~> 3.13)
- rspec-sidekiq (4.1.0)
+ rspec-sidekiq (5.0.0)
rspec-core (~> 3.0)
rspec-expectations (~> 3.0)
rspec-mocks (~> 3.0)
@@ -369,7 +377,7 @@ GEM
activesupport (>= 3.0.0)
mustache (~> 1.0, >= 0.99.4)
rspec (~> 3.0)
- rubocop (1.62.1)
+ rubocop (1.64.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
@@ -380,8 +388,8 @@ GEM
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.31.2)
- parser (>= 3.3.0.4)
+ rubocop-ast (1.31.3)
+ parser (>= 3.3.1.0)
ruby-graphviz (1.2.5)
rexml
ruby-progressbar (1.13.0)
@@ -392,11 +400,12 @@ GEM
sexp_processor (4.17.1)
shoulda-matchers (6.2.0)
activesupport (>= 5.2.0)
- sidekiq (7.2.2)
+ sidekiq (7.3.0)
concurrent-ruby (< 2)
connection_pool (>= 2.3.0)
+ logger
rack (>= 2.2.4)
- redis-client (>= 0.19.0)
+ redis-client (>= 0.22.2)
sidekiq-unique-jobs (8.0.10)
concurrent-ruby (~> 1.0, >= 1.0.5)
sidekiq (>= 7.0.0, < 8.0.0)
@@ -407,11 +416,12 @@ GEM
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
- spring (4.1.3)
+ spring (4.2.1)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
- squasher (0.7.3)
- stringio (3.1.0)
+ squasher (0.8.0)
+ stringio (3.1.1)
+ strscan (3.1.0)
thor (1.3.1)
timeout (0.4.1)
tzinfo (2.0.6)
@@ -427,7 +437,7 @@ GEM
activemodel (>= 6.0.0)
bindex (>= 0.4.0)
railties (>= 6.0.0)
- webmock (3.23.0)
+ webmock (3.23.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
@@ -437,7 +447,7 @@ GEM
websocket-extensions (0.1.5)
yt (0.33.4)
activesupport
- zeitwerk (2.6.13)
+ zeitwerk (2.6.16)
PLATFORMS
aarch64-linux
@@ -461,6 +471,7 @@ DEPENDENCIES
database_cleaner
devise
elastic-apm
+ elastic-transport
elasticsearch
elasticsearch-model
factory_bot_rails