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
10 11 12 13 14 15 16 17 18 |
# File 'lib/eac_ruby_utils/inflector.rb', line 10 def variableize(string) 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 raise ::ArgumentError, "Invalid variable name \"#{r}\" was generated " \ "from string \"#{string}\"" end |