class EacRubyUtils::Inflector
def variableize(string, validate = true) # rubocop:disable Style/OptionalBooleanParameter
-
(ArgumentError)-
Returns:
-
(String, nil)-
Parameters:
-
validate(Boolean) -- Affect the outcome when the result builded is not in a valid -
string(String) -- The source string.
def variableize(string, validate = true) # rubocop:disable Style/OptionalBooleanParameter r = ::ActiveSupport::Inflector.transliterate(string).gsub(/[^_a-z0-9]/i, '_') .gsub(/_+/, '_').gsub(/_\z/, '').gsub(/\A_/, '').downcase m = VARIABLE_NAME_PATTERN.match(r) return r if m return nil unless validate raise ::ArgumentError, "Invalid variable name \"#{r}\" was generated " \ "from string \"#{string}\"" end