Module: Riffer::Helpers::ClassNameConverter

Extended by:
ClassNameConverter
Included in:
ClassNameConverter
Defined in:
lib/riffer/helpers/class_name_converter.rb

Overview

Helper module for converting class names.

Constant Summary collapse

DEFAULT_SEPARATOR =

: String

"/"

Instance Method Summary collapse

Instance Method Details

#convert(class_name, separator: DEFAULT_SEPARATOR) ⇒ Object

Converts a class name to snake_case identifier format.

– : (String, ?separator: String) -> String



14
15
16
17
18
19
20
21
# File 'lib/riffer/helpers/class_name_converter.rb', line 14

def convert(class_name, separator: DEFAULT_SEPARATOR)
  class_name
    .to_s
    .gsub("::", separator)
    .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
    .gsub(/([a-z\d])([A-Z])/, '\1_\2')
    .downcase
end