class String

Initial code taken from Facets gem by Rubyworks github.com/rubyworks/facets/blob/master/lib/core/facets/string/snakecase.rb

Public Instance Methods

base_class_name() click to toggle source

Turn `Module::Nested::ClassName` to just `ClassName`

# File lib/ruby-lokalise-api/utils/string_utils.rb, line 20
def base_class_name
  split('::').last
end
remove_trailing_slash() click to toggle source
# File lib/ruby-lokalise-api/utils/string_utils.rb, line 24
def remove_trailing_slash
  delete_suffix '/'
end
snakecase() click to toggle source

Underscore a string such that camelcase, dashes and spaces are replaced by underscores.

# File lib/ruby-lokalise-api/utils/string_utils.rb, line 9
def snakecase
  base_class_name.
    gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
    gsub(/([a-z\d])([A-Z])/, '\1_\2').
    tr('-', '_').
    gsub(/\s/, '_').
    gsub(/__+/, '_').
    downcase
end