I've updated a Rails 6.1 application to Ruby 3.2.2 and since then, I've had an issue with a specific YAML line (the yaml passes yamllint) when loading the configuration
The error and trace
/Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/3.2.0/ostruct.rb:225:in `block (2 levels) in new_ostruct_member!': wrong number of arguments (given 2, expected 0) (ArgumentError)
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:126:in `[]='
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:182:in `block in __convert'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:172:in `each'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:172:in `__convert'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:176:in `block in __convert'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:172:in `each'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:172:in `__convert'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:176:in `block in __convert'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:172:in `each'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:172:in `__convert'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/options.rb:56:in `reload!'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config.rb:48:in `load_files'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config.rb:56:in `load_and_set_settings'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/integrations/rails/railtie.rb:13:in `preload'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/railties-6.1.7.6/lib/rails/railtie.rb:207:in `public_send'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/railties-6.1.7.6/lib/rails/railtie.rb:207:in `method_missing'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/config-5.0.0/lib/config/integrations/rails/railtie.rb:23:in `block in <class:Railtie>'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.6/lib/active_support/lazy_load_hooks.rb:68:in `block in execute_hook'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.6/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.6/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.6/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.6/lib/active_support/lazy_load_hooks.rb:51:in `each'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.6/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
from /Users/camilo/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/railties-6.1.7.6/lib/rails/application.rb:96:in `inherited'
Versions
Rails 6.1.7.6
Ruby 3.2.2
Config 5.0.0
the yaml
url:
foo: http://blahblah.example/
bar: http://yadayada.example/
baz: http://loremipsum.example/
Most of the block loads, but on the 14th url it fails.
I've updated a Rails 6.1 application to Ruby 3.2.2 and since then, I've had an issue with a specific YAML line (the yaml passes yamllint) when loading the configuration
The error and trace
Versions
the yaml
Most of the block loads, but on the 14th url it fails.
Removing the block as a whole resolves the error.