Method: Vedeu::Common#snake_case

Defined in:
lib/vedeu/common.rb

#snake_case(name) ⇒ String

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Converts a class name to a lowercase snake case string.

Examples:

snake_case(MyClassName) # => "my_class_name"
snake_case(NameSpaced::ClassName)
# => "name_spaced/class_name"

Parameters:

  • name (String)

Returns:

  • (String)


53
54
55
56
57
58
59
60
# File 'lib/vedeu/common.rb', line 53

def snake_case(name)
  name.gsub!(/::/, '/')
  name.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
  name.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
  name.tr!('-', '_')
  name.downcase!
  name
end