Class: OpenHouse::SimpleInflector
- Inherits:
-
Object
- Object
- OpenHouse::SimpleInflector
- Defined in:
- lib/openhouse/simple_inflector.rb
Instance Method Summary collapse
- #demodulized(module_name) ⇒ Object
- #underscored(module_name) ⇒ Object
- #underscored_demodulized(module_name) ⇒ Object
Instance Method Details
#demodulized(module_name) ⇒ Object
3 4 5 |
# File 'lib/openhouse/simple_inflector.rb', line 3 def demodulized(module_name) module_name.split('::').last end |
#underscored(module_name) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/openhouse/simple_inflector.rb', line 7 def underscored(module_name) return module_name.downcase if module_name.upcase == module_name ret = module_name # MyModuleName ABCName .gsub(/([A-Z])/, '_\1'.freeze) # _My_Module_Name _A_B_C_Name .gsub(/([A-Z])_([A-Z])_/, '\1\2'.freeze) # _ABC_Name .downcase # _my_module_name _abc_name ret.start_with?('_') ? ret[1..-1] : ret end |
#underscored_demodulized(module_name) ⇒ Object
18 19 20 |
# File 'lib/openhouse/simple_inflector.rb', line 18 def underscored_demodulized(module_name) underscored(demodulized(module_name)) end |