Method: Morpheus::Cli::CliRegistry.cli_ize
- Defined in:
- lib/morpheus/cli/cli_registry.rb
.cli_ize(klass_name) ⇒ Object
205 206 207 208 209 210 211 212 213 214 215 |
# File 'lib/morpheus/cli/cli_registry.rb', line 205 def cli_ize(klass_name) # borrowed from ActiveSupport return klass_name unless klass_name =~ /[A-Z-]|::/ word = klass_name.to_s.gsub(/::/, '/') word.gsub!(/(?:(?<=([A-Za-z\d]))|\b)(?=\b|[^a-z])/) { "#{$1 && '_'}" } word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.tr!("-", "_") word.downcase! word.chop.tr('_', '-') end |