-
-
Notifications
You must be signed in to change notification settings - Fork 279
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Expected behavior
File is inspected successfully
Actual behavior
Rubocop fails to inspect the file and shows the following backtrace:
An error occurred while Rails/ReadWriteAttribute cop was inspecting /Users/jaimerave/Projects/test/app/models/test.rb:5:4.
can't modify frozen String: "kind"
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-rails-2.32.0/lib/rubocop/cop/rails/read_write_attribute.rb:69:in 'RuboCop::Cop::Rails::ReadWriteAttribute#within_shadowing_method?'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-rails-2.32.0/lib/rubocop/cop/rails/read_write_attribute.rb:52:in 'RuboCop::Cop::Rails::ReadWriteAttribute#on_send'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:143:in 'Kernel#public_send'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:143:in 'block (2 levels) in RuboCop::Cop::Commissioner#trigger_restricted_cops'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:171:in 'RuboCop::Cop::Commissioner#with_cop_error_handling'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:142:in 'block in RuboCop::Cop::Commissioner#trigger_restricted_cops'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:141:in 'Array#each'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:141:in 'RuboCop::Cop::Commissioner#trigger_restricted_cops'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:70:in 'RuboCop::Cop::Commissioner#on_send'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-ast-1.45.0/lib/rubocop/ast/traversal.rb:163:in 'RuboCop::AST::Traversal#on_def'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:71:in 'RuboCop::Cop::Commissioner#on_def'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-ast-1.45.0/lib/rubocop/ast/traversal.rb:163:in 'RuboCop::AST::Traversal#on_class'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:71:in 'RuboCop::Cop::Commissioner#on_class'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-ast-1.45.0/lib/rubocop/ast/traversal.rb:20:in 'RuboCop::AST::Traversal#walk'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/commissioner.rb:87:in 'RuboCop::Cop::Commissioner#investigate'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/team.rb:174:in 'RuboCop::Cop::Team#investigate_partial'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cop/team.rb:108:in 'RuboCop::Cop::Team#investigate'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:348:in 'block in RuboCop::Runner#inspect_file'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:347:in 'Array#each'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:347:in 'Enumerable#flat_map'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:347:in 'RuboCop::Runner#inspect_file'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:290:in 'block in RuboCop::Runner#do_inspection_loop'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:324:in 'block in RuboCop::Runner#iterate_until_no_changes'
<internal:kernel>:168:in 'Kernel#loop'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:317:in 'RuboCop::Runner#iterate_until_no_changes'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:286:in 'RuboCop::Runner#do_inspection_loop'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:167:in 'block in RuboCop::Runner#file_offenses'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:192:in 'RuboCop::Runner#file_offense_cache'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:166:in 'RuboCop::Runner#file_offenses'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:154:in 'RuboCop::Runner#process_file'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:135:in 'block in RuboCop::Runner#each_inspected_file'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:134:in 'Array#each'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:134:in 'Enumerable#reduce'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:134:in 'RuboCop::Runner#each_inspected_file'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:120:in 'RuboCop::Runner#inspect_files'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/runner.rb:73:in 'RuboCop::Runner#run'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli/command/execute_runner.rb:26:in 'block in RuboCop::CLI::Command::ExecuteRunner#execute_runner'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli/command/execute_runner.rb:52:in 'RuboCop::CLI::Command::ExecuteRunner#with_redirect'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli/command/execute_runner.rb:25:in 'RuboCop::CLI::Command::ExecuteRunner#execute_runner'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli/command/execute_runner.rb:17:in 'RuboCop::CLI::Command::ExecuteRunner#run'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli/command.rb:11:in 'RuboCop::CLI::Command.run'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli/environment.rb:18:in 'RuboCop::CLI::Environment#run'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli.rb:122:in 'RuboCop::CLI#run_command'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli.rb:129:in 'RuboCop::CLI#execute_runners'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli.rb:51:in 'block in RuboCop::CLI#run'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli.rb:81:in 'RuboCop::CLI#profile_if_needed'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/lib/rubocop/cli.rb:43:in 'RuboCop::CLI#run'
/Users/jaimerave/.rbenv/versions/3.4.4/lib/ruby/gems/3.4.0/gems/rubocop-1.75.6/exe/rubocop:19:in '<top (required)>'
/Users/jaimerave/.rbenv/versions/3.4.4/bin/rubocop:25:in 'Kernel#load'
/Users/jaimerave/.rbenv/versions/3.4.4/bin/rubocop:25:in '<main>'
Steps to reproduce the problem
Run rubocop -d app/models/test.rb
with the following content:
# frozen_string_literal: true
class Test < ApplicationRecord
def kind=(k)
write_attribute("kind", (k.blank? ? nil : k.to_s))
end
end
RuboCop version
$ [bundle exec] rubocop -V
1.75.6 (using Parser 3.3.8.0, Prism 1.4.0, rubocop-ast 1.45.0, analyzing as Ruby 3.4, running on ruby 3.4.4) [arm64-darwin24]
- rubocop-capybara 2.22.1
- rubocop-factory_bot 2.27.1
- rubocop-minitest 0.38.0
- rubocop-performance 1.25.0
- rubocop-rails 2.32.0
- rubocop-rspec 3.6.0
- rubocop-rspec_rails 2.31.0
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working