From bc690684e5219f45bdcb8353742ef2e7e6dcf107 Mon Sep 17 00:00:00 2001 From: "Marcos G. Zimmermann" Date: Tue, 21 Jan 2025 06:10:30 -0300 Subject: [PATCH] fix: add namespace support for the String.classify --- lib/site_maps/primitives/string.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/site_maps/primitives/string.rb b/lib/site_maps/primitives/string.rb index a89b894..ecd20dd 100644 --- a/lib/site_maps/primitives/string.rb +++ b/lib/site_maps/primitives/string.rb @@ -20,12 +20,24 @@ def classify elsif defined?(ActiveSupport::Inflector) ActiveSupport::Inflector.classify(self) else - split("_").map(&:capitalize).join + split("/").collect do |c| + c.split("_").collect(&:capitalize).join + end.join("::") end self.class.new(new_str) end + def constantize + if defined?(Dry::Inflector) + Dry::Inflector.new.constantize(self) + elsif defined?(ActiveSupport::Inflector) + ActiveSupport::Inflector.constantize(self) + else + Object.const_get(self) + end + end + def underscore new_str = sub(/^::/, "") .gsub("::", "/")