Method: EndpointFlux::ClassLoader.string_to_class_name

Defined in:
lib/endpoint_flux/class_loader.rb

.string_to_class_name(klass_name) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/endpoint_flux/class_loader.rb', line 18

def string_to_class_name(klass_name)
  klass_name
    .sub(%r{^[a-z\d]*}) { $&.capitalize }
    .gsub(%r{(?:_|(\/))([a-z\d]*)}) do
      "#{Regexp.last_match[1]}#{Regexp.last_match[2].capitalize}"
    end
    .gsub('/', '::')
end