From a340ac153cd64dbe2ddcb421669d276ac24405a9 Mon Sep 17 00:00:00 2001 From: Benjamin Klotz Date: Mon, 7 Nov 2022 10:48:27 +0100 Subject: [PATCH] Replace period in underscored string (#398) --- lib/hanami/utils/string.rb | 2 +- spec/unit/hanami/utils/string_spec.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/hanami/utils/string.rb b/lib/hanami/utils/string.rb index 102afdc..c463d7d 100644 --- a/lib/hanami/utils/string.rb +++ b/lib/hanami/utils/string.rb @@ -231,7 +231,7 @@ module Hanami string.gsub!(NAMESPACE_SEPARATOR, UNDERSCORE_SEPARATOR) string.gsub!(/([A-Z\d]+)([A-Z][a-z])/, UNDERSCORE_DIVISION_TARGET) string.gsub!(/([a-z\d])([A-Z])/, UNDERSCORE_DIVISION_TARGET) - string.gsub!(/[[:space:]]|-/, UNDERSCORE_DIVISION_TARGET) + string.gsub!(/[[:space:]]|-|\./, UNDERSCORE_DIVISION_TARGET) string.downcase end diff --git a/spec/unit/hanami/utils/string_spec.rb b/spec/unit/hanami/utils/string_spec.rb index be3c8ec..3f4b3f7 100644 --- a/spec/unit/hanami/utils/string_spec.rb +++ b/spec/unit/hanami/utils/string_spec.rb @@ -198,6 +198,11 @@ RSpec.describe Hanami::Utils::String do expect(string).to eq("hanami_utils") end + it "handles periods" do + string = Hanami::Utils::String.underscore("hanami.utils") + expect(string).to eq("hanami_utils") + end + it "handles spaces" do string = Hanami::Utils::String.underscore("Hanami Utils") expect(string).to eq("hanami_utils")