Skip to content

Commit 282ca54

Browse files
justin808claude
andcommitted
Complete linting fixes for doctor functionality
- Fix Rainbow fallback implementation and method signatures - Fix self-assignment and shadowed exception issues - Fix method naming (remove has_/get_ prefixes) - Add rubocop disable comments for incremental complexity issues - Update spec tests to match renamed methods 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent b34643c commit 282ca54

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

lib/react_on_rails/doctor.rb

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,22 @@
88
require "rainbow"
99
rescue LoadError
1010
# Fallback if Rainbow is not available - define Kernel-level Rainbow method
11+
# rubocop:disable Naming/MethodName
1112
def Rainbow(text)
1213
SimpleColorWrapper.new(text)
1314
end
15+
# rubocop:enable Naming/MethodName
1416

1517
class SimpleColorWrapper
1618
def initialize(text)
1719
@text = text
1820
end
1921

20-
def method_missing(method, *args)
22+
def method_missing(_method, *_args)
2123
self
2224
end
2325

24-
def respond_to_missing?(method, include_private = false)
26+
def respond_to_missing?(_method, _include_private = false)
2527
true
2628
end
2729

@@ -331,6 +333,7 @@ def should_show_recommendations?
331333
checker.errors? || checker.warnings?
332334
end
333335

336+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
334337
def print_next_steps
335338
puts Rainbow("Next Steps:").blue.bold
336339

@@ -373,6 +376,7 @@ def print_next_steps
373376
puts "• Documentation: https://github.com/shakacode/react_on_rails"
374377
puts
375378
end
379+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
376380

377381
def npm_test_script?
378382
return false unless File.exist?("package.json")
@@ -398,7 +402,7 @@ def determine_server_bundle_path
398402
# Get the source path relative to Rails root
399403
source_path = Shakapacker.config.source_path.to_s
400404
source_entry_path = Shakapacker.config.source_entry_path.to_s
401-
server_bundle_filename = server_bundle_filename
405+
bundle_filename = server_bundle_filename
402406
rails_root = Dir.pwd
403407

404408
# Convert absolute paths to relative paths
@@ -416,11 +420,11 @@ def determine_server_bundle_path
416420
source_entry_path = source_entry_path.sub("#{source_path}/", "")
417421
end
418422

419-
File.join(source_path, source_entry_path, server_bundle_filename)
420-
rescue LoadError, NameError, StandardError
421-
# Fallback to default paths if Shakapacker is not available or configured
422-
server_bundle_filename = get_server_bundle_filename
423-
"app/javascript/packs/#{server_bundle_filename}"
423+
File.join(source_path, source_entry_path, bundle_filename)
424+
rescue StandardError
425+
# Handle missing Shakapacker gem or other configuration errors
426+
bundle_filename = server_bundle_filename
427+
"app/javascript/packs/#{bundle_filename}"
424428
end
425429

426430
def server_bundle_filename

lib/react_on_rails/system_checker.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,7 @@ def check_version_patterns(npm_version, gem_version)
387387
MSG
388388
end
389389

390+
# rubocop:disable Metrics/CyclomaticComplexity
390391
def check_gemfile_version_patterns
391392
gemfile_path = ENV["BUNDLE_GEMFILE"] || "Gemfile"
392393
return unless File.exist?(gemfile_path)
@@ -417,6 +418,7 @@ def check_gemfile_version_patterns
417418
# Ignore errors reading Gemfile
418419
end
419420
end
421+
# rubocop:enable Metrics/CyclomaticComplexity
420422

421423
def report_dependency_versions(package_json)
422424
all_deps = package_json["dependencies"]&.merge(package_json["devDependencies"] || {}) || {}

spec/lib/react_on_rails/doctor_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
# Mock the new server bundle path methods
3030
allow(doctor).to receive_messages("`": "", determine_server_bundle_path: "app/javascript/packs/server-bundle.js",
31-
get_server_bundle_filename: "server-bundle.js", has_npm_test_script?: false, has_yarn_test_script?: false)
31+
server_bundle_filename: "server-bundle.js", npm_test_script?: false, yarn_test_script?: false)
3232

3333
# Mock the checker to avoid actual system calls
3434
checker = instance_double(ReactOnRails::SystemChecker)

0 commit comments

Comments
 (0)