class String

Public Instance Methods

camelize() click to toggle source
# File lib/hammer_cli/utils.rb, line 18
def camelize()
  return self if self !~ /_/ && self =~ /[A-Z]+.*/
  split('_').map{|e| e.capitalize}.join
end
constantize() click to toggle source
# File lib/hammer_cli/utils.rb, line 37
def constantize
  raise NameError, "Can't constantize empty string" if self.empty?
  HammerCLI.constant_path(self)[-1]
end
format(params) click to toggle source

string formatting for ruby 1.8

# File lib/hammer_cli/utils.rb, line 5
def format(params)
  if params.is_a? Hash
    array_params = self.scan(/%[<{]([^>}]*)[>}]/).collect do |name|
      name = name[0]
      params[name.to_s] || params[name.to_sym]
    end

    self.gsub(/%[<]([^>]*)[>]/, '%').gsub(/%[{]([^}]*)[}]/, '%s') % array_params
  else
    self % params
  end
end
indent_with(indent_str) click to toggle source
# File lib/hammer_cli/utils.rb, line 23
def indent_with(indent_str)
  gsub(/^/, indent_str)
end
underscore() click to toggle source
# File lib/hammer_cli/utils.rb, line 27
def underscore
  word = self.dup
  word.gsub!(/::/, '/')
  word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
  word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
  word.tr!("-", "_")
  word.downcase!
  word
end