Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/nifty_services/support/string.rb

Instance Method Summary collapse

Instance Method Details

#camel_caseObject



15
16
17
18
# File 'lib/nifty_services/support/string.rb', line 15

def camel_case
  return self if self !~ /_/ && self =~ /[A-Z]+.*/
  split('_').map{|e| e.capitalize}.join
end

#underscoreObject



3
4
5
6
7
8
9
10
11
12
# File 'lib/nifty_services/support/string.rb', line 3

def underscore
  return self unless self =~ /[A-Z-]|::/
  word = self.to_s.gsub('::'.freeze, '/'.freeze)
  word.gsub!(/(?:(?<=([A-Za-z\d]))|\b)((?=a)b)(?=\b|[^a-z])/) { "#{$1 && '_'.freeze }#{$2.downcase}" }
  word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2'.freeze)
  word.gsub!(/([a-z\d])([A-Z])/, '\1_\2'.freeze)
  word.tr!("-".freeze, "_".freeze)
  word.downcase!
  word
end