Class: Symbol

Inherits:
Object
  • Object
show all
Defined in:
lib/sapience/core_ext/symbol.rb

Instance Method Summary collapse

Instance Method Details

#camelize(uppercase_first_letter = true) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/sapience/core_ext/symbol.rb', line 4

def camelize(uppercase_first_letter = true)
  string = to_s
  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]*)/i) do
    "#{Regexp.last_match(1)}#{Regexp.last_match(2).capitalize}"
  end
  string.gsub!(/\//, "::")
  string
end