whatisinternet/Inflector

Snake casing not idempotent for strings with a numeric character following a capitalized character

fordN opened this issue · 0 comments

fordN commented

Current behavior

to_snake_case("convertedAcquisitionV2Counter") => "converted_acquisition_v2_counter"
to_snake_case("converted_acquisition_v2_counter") => "converted_acquisition_v_2_counter"

Which also leads to:

is_snake_case(to_snake_case("convertedAcquisitionV2Counter")) => false

Expected behavior

to_snake_case("convertedAcquisitionV2Counter") => "converted_acquisition_v2_counter"
to_snake_case("converted_acquisition_v2_counter") => "converted_acquisition_v2_counter"
is_snake_case(to_snake_case("convertedAcquisitionV2Counter")) => true