sorbet-rails
sorbet-rails copied to clipboard
Model with `enum` raises `ArgumentError: wrong number of arguments (given 3, expected 1)`
Describe the bug:
I'm attempting to generate RBIs for the following model:
class TeamMember < ApplicationRecord
ROLES = {
unassigned: "unassigned",
contractor: "contractor",
employee: "employee"
}.freeze
enum :role, ROLES, default: :unassigned, suffix: true
end
But the following error gets raised:
main % be rails 'rails_rbi:models'
rails aborted!
ArgumentError: wrong number of arguments (given 3, expected 1)
/Users/rspeicher/.../app/models/team_member.rb:26:in `<class:TeamMember>'
/Users/rspeicher/.../app/models/team_member.rb:1:in `<main>'
Tasks: TOP => rails_rbi:models
(See full trace by running task with --trace)
The same error gets raised with a reduced enum
like so:
enum :role, %i[foo bar]
Steps to reproduce:
- Generate a model with an
enum
field - Run the
rails_rbi:models
task
Expected behavior:
RBIs for models are generated.
Versions:
- Ruby: ruby 3.2.1 (2023-02-08 revision 31819e82c8) [arm64-darwin22]
- Rails: Rails 7.0.4.3
- Sorbet: Sorbet typechecker 0.5.10712 git dd4602e030832c930d0b413f31734a83708448f6 debug_symbols=true clean=1
- Sorbet-Rails: sorbet-rails-0.7.34
This may be related to https://github.com/chanzuckerberg/sorbet-rails/issues/479