Method: TensorStream::StringHelper#camelize

Defined in:
lib/tensor_stream/helpers/string_helper.rb

#camelize(string, uppercase_first_letter = true) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/tensor_stream/helpers/string_helper.rb', line 5

def camelize(string, uppercase_first_letter = true)
  string = if uppercase_first_letter
    string.sub(/^[a-z\d]*/) { $&.capitalize }
  else
    string.sub(/^(?:(?=\b|[A-Z_])|\w)/) { $&.downcase }
  end
  string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }.gsub("/", "::")
end