Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/nidyx/core_ext/string.rb

Instance Method Summary collapse

Instance Method Details

#camelize(uppercase_first_letter = true) ⇒ Object

Inspired by (read: “Stolen from”) Rails ActiveSupport::Inflector



3
4
5
6
7
8
9
10
11
# File 'lib/nidyx/core_ext/string.rb', line 3

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