File: string.rb

package info (click to toggle)
ruby-specinfra 2.76.9-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,144 kB
  • sloc: ruby: 9,280; sh: 4; makefile: 3
file content (14 lines) | stat: -rw-r--r-- 302 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class String
  def to_snake_case
    self.gsub(/::/, '/').
    gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
    gsub(/([a-z\d])([A-Z])/,'\1_\2').
    tr("-", "_").
    downcase
  end

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