module Opto::Extension::SnakeCase

Refines String to have .snakecase method that turns StringLikeThis into a string_like_this

Public Instance Methods

snakecase() click to toggle source
# File lib/opto/extensions/snake_case.rb, line 7
def snakecase
  gsub(/::/, '/')
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
  gsub(/([a-z\d])([A-Z])/,'\1_\2').
  tr('-', '_').
  gsub(/\s/, '_').
  gsub(/__+/, '_').
  downcase
end