module Seahorse::Util
def irregular_inflections(hash)
def irregular_inflections(hash) @irregular_inflections.update(hash) @irregular_regex = Regexp.new(@irregular_inflections.keys.join('|')) end
def underscore(string)
-
(String)
- Returns the underscored version of the given string.
Parameters:
-
string
(String
) --
def underscore(string) string. gsub(@irregular_regex) { |word| '_' + @irregular_inflections[word] }. gsub(/([A-Z0-9]+)([A-Z][a-z])/, '\1_\2'). scan(/[a-z0-9]+|\d+|[A-Z0-9]+[a-z]*/). join('_').downcase end
def uri_escape(string)
def uri_escape(string) CGI.escape(string.encode('UTF-8')).gsub('+', '%20').gsub('%7E', '~') end
def uri_path_escape(path)
def uri_path_escape(path) path.gsub(/[^\/]+/) { |part| uri_escape(part) } end