I agree. And it's impossible to follow. No type hints, missing syntax, generated identifiers all over the place, etc. Awful awful language. I'd rather write Perl.
1. It leaves out parentheses in places where they really should be there for clarity. Ok it's not nearly as bad as e.g. OCaml, but it's still a downside.
2. Basically Ruby code seems to favour magically generating methods and variables based on other strings, which makes them impossible to search for.
Other languages sometimes do that too, e.g. ill-advised __dict__ Python tricks, or with macros in C++ or Rust. But it's definitely worse in Ruby, and it's a common complaint (search for "magic" in these comments).
I literally have given up following Gitlab's code before. That never happens in better languages, e.g. I can easily follow VSCode's codebase (Typescript) or gitlab-runner (Go).