Skip to content

Remove method redefinition warnings - #96

Merged
nertzy merged 1 commit into
rdy:masterfrom
nertzy:fix-redefinition-warnings
Aug 29, 2026
Merged

Remove method redefinition warnings#96
nertzy merged 1 commit into
rdy:masterfrom
nertzy:fix-redefinition-warnings

Conversation

@nertzy

@nertzy nertzy commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Running bin/rake test on master succeeds, but emits 20 method redefinition warnings:

lib/fixture_builder/configuration.rb:60: warning: method redefined; discarding old select_sql
lib/fixture_builder/configuration.rb:64: warning: method redefined; discarding old select_sql=
lib/fixture_builder/configuration.rb:82: warning: method redefined; discarding old delete_sql
lib/fixture_builder/configuration.rb:86: warning: method redefined; discarding old delete_sql=
lib/fixture_builder/configuration.rb:104: warning: method redefined; discarding old skip_tables
lib/fixture_builder/configuration.rb:108: warning: method redefined; discarding old files_to_check
lib/fixture_builder/configuration.rb:118: warning: method redefined; discarding old files_to_check=
lib/fixture_builder/configuration.rb:124: warning: method redefined; discarding old record_name_fields
lib/fixture_builder/configuration.rb:139: warning: method redefined; discarding old fixture_builder_file
lib/fixture_builder/configuration.rb:147: warning: method redefined; discarding old name_model_with
lib/fixture_builder/delegations.rb:19: warning: previous definition of name_model_with was here
lib/fixture_builder/configuration.rb:155: warning: method redefined; discarding old fixture_directory
lib/fixture_builder/delegations.rb:12: warning: method redefined; discarding old legacy_fixtures
lib/fixture_builder/delegations.rb:12: warning: previous definition of legacy_fixtures was here
lib/fixture_builder/delegations.rb:12: warning: method redefined; discarding old legacy_fixtures
lib/fixture_builder/delegations.rb:12: warning: previous definition of legacy_fixtures was here
test/namer_test.rb:6: warning: method redefined; discarding old table_name
test/fixture_builder_test.rb:6: warning: previous definition of table_name was here
test/fixture_builder_test.rb:236: warning: method redefined; discarding old fixtures_path
test/fixture_builder_test.rb:230: warning: previous definition of fixtures_path was here

The configuration warnings come from generating accessors that are subsequently replaced by custom implementations. Other warnings come from duplicate delegation declarations, test files sharing a top-level fake model, and a test restoring a temporarily replaced singleton method without first removing it.

Declare only the configuration accessors that do not already have custom implementations and remove the duplicate delegations while preserving the public configuration API. Give each test its own fake model and remove the temporary singleton method before restoring the original implementation.

Ruby warning mode remains enabled, and the suite now runs without redefinition warnings.

Declare configuration accessors only when they do not have custom implementations. Remove duplicate delegations and isolate test doubles so the suite runs cleanly with Ruby warnings enabled.
@nertzy
nertzy merged commit adf7a0f into rdy:master Aug 29, 2026
10 checks passed
@nertzy
nertzy deleted the fix-redefinition-warnings branch August 29, 2026 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant