Module: Dsu::Support::TransformProjectName
- Included in:
- Dsu::Services::EntryGroup::ExporterService
- Defined in:
- lib/dsu/support/transform_project_name.rb
Constant Summary collapse
- TRANSFORM_PROJECT_NAME_REGEX =
%r{[^/\w\s]|_}- TRANSFORM_PROJECT_NAME_SEPARATOR =
'-'
Class Method Summary collapse
Class Method Details
.transform_project_name(project_name, options: {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/dsu/support/transform_project_name.rb', line 11 def transform_project_name(project_name, options: {}) normalized_name = project_name .gsub(TRANSFORM_PROJECT_NAME_REGEX, ' ') # Replace non-word characters and underscores with space .strip # Remove leading and trailing spaces .squeeze(' ') # Convert consecutive spaces to a single space .tr(' ', TRANSFORM_PROJECT_NAME_SEPARATOR) # Replace spaces with hyphens .squeeze(TRANSFORM_PROJECT_NAME_SEPARATOR) # Ensure no consecutive hyphens normalized_name.downcase! if [:downcase] normalized_name end |