In the markus code, there are a lot of places where we use markus_config_<something>
instead of MarkusConfigurator.markus_config_<something>
. We should start using the latter. He’s why:
ensure_config_helper.rb
def self.check_config()
puts 'Checking #{markus_config_logging_logfile}'
puts 'Checking #{markus_config_logging_errorlogfile}'
puts 'Checking #{markus_config_repository_storage}'
puts 'Checking #{markus_config_validate_file}'
puts 'Checking #{MarkusConfigurator.markus_config_logging_logfile}'
puts 'Checking #{MarkusConfigurator.markus_config_logging_errorlogfile}'
puts 'Checking #{MarkusConfigurator.markus_config_repository_storage}'
puts 'Checking #{MarkusConfigurator.markus_config_validate_file}'
check_in_writable_dir(markus_config_logging_logfile, 'MARKUS_LOGGING_LOGFILE')
check_in_writable_dir(markus_config_logging_errorlogfile, 'MARKUS_LOGGING_ERRORLOGFILE')
check_writable(markus_config_repository_storage, 'REPOSITORY_STORAGE')
check_readable(markus_config_repository_storage, 'REPOSITORY_STORAGE')
if ! RUBY_PLATFORM =~ /(:?mswin|mingw)/ # should match for Windows only
check_executable(markus_config_validate_file, 'VALIDATE_FILE')
end
end
Output from running rake test:units When loading everything up:
Checking log/info_development.log
Checking log/error_development.log
Checking /home/jmate/everything/workspaces/repos
Checking /home/jmate/everything/workspaces/markus/config/dummy_validate.sh
Checking log/info_development.log
Checking log/error_development.log
Checking /home/jmate/everything/workspaces/repos
Checking /home/jmate/everything/workspaces/markus/config/dummy_validate.sh
At this point, <blah> == MarkusConfigurator.<blah>
When running the test cases:
/tmp/ensure_config_helper_test_777699315/log/log_info_file.log
Checking log/info_test.log
Checking log/error_test.log
Checking /home/jmate/everything/workspaces/repos
Checking /home/jmate/everything/workspaces/markus/config/dummy_validate.sh
Checking /tmp/ensure_config_helper_test_777699315/log/log_info_file.log
Checking /tmp/ensure_config_helper_test_777699315/log/log_error_file.log
Checking /tmp/ensure_config_helper_test_777699315/source_repo_dir
Checking /tmp/ensure_config_helper_test_777699315/validate_script.sh
/tmp/ensure_config_helper_test_595310852/log/log_info_file.log
...
...
...
Checking log/info_test.log
Checking log/error_test.log
Checking /home/jmate/everything/workspaces/repos
Checking /home/jmate/everything/workspaces/markus/config/dummy_validate.sh
Checking /tmp/ensure_config_helper_test_473533902/log/log_info_file.log
Checking /tmp/ensure_config_helper_test_473533902/log/log_error_file.log
Checking /tmp/ensure_config_helper_test_473533902/source_repo_dir
Checking /tmp/ensure_config_helper_test_473533902/validate_script.sh
Now you can see that <blah> != MarkusConfigurator.<blah>
. So the namespace for the method you are trying to call cannot be ambiguous. In the source code above you must use MarkusConfigurator.<blah>
.