Class: EacRubyUtils::Inflector
- Defined in:
- lib/eac_ruby_utils/inflector.rb
Constant Summary collapse
- VARIABLE_NAME_PATTERN =
/[_a-z][_a-z0-9]*/i.freeze
Class Method Summary collapse
Class Method Details
.variableize(string) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/eac_ruby_utils/inflector.rb', line 8 def variableize(string) r = string.gsub(/[^_a-z0-9]/i, '_').gsub(/_+/, '_').gsub(/_\z/, '').gsub(/\A_/, '').downcase m = VARIABLE_NAME_PATTERN.match(r) return r if m raise ::ArgumentError, "Invalid variable name \"#{r}\" was generated " \ "from string \"#{string}\"" end |