Regression in Mode arguments in 3.3.2
### Version
Docker's `ruby:3.3.2-bookworm` image.
Ruby 3.3.2 implicitly includes CSV [3.2.8](https://stdgems.org/3.3.2/)
We recently bumped CSV to 3.3.2 in our Gemfile.lock
### Reproduction
`CSV.open(Tempfile.new.path, 577)`
### Expected Behavior
CSV.open returns an IO object/file handle.
### Current Behavior
`NoMethodError: undefined method `include?' for an instance of Integer`
### Additional Info
This previously worked in 3.2.8. We believe that commit https://github.com/ruby/csv/commit/b706d91de8ec640d2918a3b4ff8828bcd6d0f09e introduced this behavior.
Our understanding of the docs is that CSV.open mimics Ruby's File.open mode argument, which does accepts numeric permissions `File.open(Tempfile.new.path, 577)` returns a file handle.
关闭于 2025-03-20 2 条评论