X-Git-Url: https://git.r.bdr.sh/rbdr/lyricli.rb/blobdiff_plain/d3e32008ba762c8c00bfd99453e794ba68f40464..refs/heads/main:/lib/lyricli/util.rb?ds=inline diff --git a/lib/lyricli/util.rb b/lib/lyricli/util.rb index e7dcfc7..b8b0186 100644 --- a/lib/lyricli/util.rb +++ b/lib/lyricli/util.rb @@ -1,9 +1,20 @@ module Lyricli + # This module contains several utility functions. module Util + + # Transforms a string from snake_case to UpperCamelCase + # + # @param [String] str the string that will be Camelized + # @return [String] the Camelized string. def camelize(str) str.split('_').map {|w| w.capitalize}.join end + # Takes a class name in snake_case and attempts to find the corresponding + # class from the sources. + # + # @param [String] class_name the snake_case name of the class to search for. + # @return [Class,nil] the found class or nil def parse_class(class_name) begin path = "Sources::#{class_name}" @@ -13,8 +24,13 @@ module Lyricli end end + # Simply escapes a param and substitutes spaces and escaped plus signs for + # plus signs. + # + # @param [String] p the parameter to be sanitized + # @return [String] the sanitized parameter def sanitize_param(p) - URI.encode_www_form_component(p.gsub(/ /, "+")).gsub("%2B", "+") + CGI.escape(p.gsub(/ /, "+")).gsub("%2B", "+") end end end