From 34e764c7846ec3cebba8108a8a783c6faf878d94 Mon Sep 17 00:00:00 2001 From: otegami Date: Thu, 1 Aug 2024 15:10:03 +0900 Subject: [PATCH] Fix uninitialized constant error by requiring lib/security.rb in lib/parsers/baseparser.rb This commit fixes an issue in `REXML::Parsers::BaseParser` where the `Security` module is not initialized, causing a NameError. How to reproduce When `lib/rexml/parsers/baseparser.rb` is loaded directly, the `Security` module is not required, leading to the following error. ```ruby require_relative "./lib/rexml/parsers/baseparser" pp REXML::Security.name ``` ```console $ ruby test.rb test.rb:3:in `
': uninitialized constant REXML::Security (NameError) pp REXML::Security.name ^^^^^^^^^^ Did you mean? SecurityError ``` How to resolve Require `Security` module in `lib/rexml/parsers/baseparser.rb` to ensure the `Security` module is initialized when `BaseParser` is loaded. --- lib/rexml/parsers/baseparser.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/rexml/parsers/baseparser.rb b/lib/rexml/parsers/baseparser.rb index 44dc6580..28810bfa 100644 --- a/lib/rexml/parsers/baseparser.rb +++ b/lib/rexml/parsers/baseparser.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require_relative '../parseexception' require_relative '../undefinednamespaceexception' +require_relative '../security' require_relative '../source' require 'set' require "strscan"