Sha256: d100db94c304468c9f2b3fbb9224318d43431afb9d659b3d46029ffc60921849

Contents?: true

Size: 961 Bytes

Versions: 7

Compression:

Stored size: 961 Bytes

Contents

# -----------------------------------------------------------------------------
# Various text utils. Yes indeed lifted from Inflector.
#
# Author:: Fernand Galiana
# Date::   Dec 15th, 2006
# -----------------------------------------------------------------------------
class String
  # Pulled from the Rails Inflector class and modified slightly to fit our needs.
  def camelize_it()
    self.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }
  end

  # Same as Rails Inflector but eliminating inflector dependency
  def underscore
    self.to_s.gsub(/::/, '/').
      gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
      gsub(/([a-z\d])([A-Z])/,'\1_\2').
      tr("-", "_").
    downcase
  end

  # Pulled from the Rails Inflector class and modified slightly to fit our needs.
  def classify
    self.sub(/.*\./, '').camelize_it
  end
  
  # strip out module name and return bare class name
  def demodulize
    self.gsub( /^.*::/, '' )
  end    
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
derailed-ziya-2.1.0 lib/ziya/core_ext/string.rb
derailed-ziya-2.1.1 lib/ziya/core_ext/string.rb
derailed-ziya-2.1.2 lib/ziya/core_ext/string.rb
derailed-ziya-2.1.3 lib/ziya/core_ext/string.rb
derailed-ziya-2.1.4 lib/ziya/core_ext/string.rb
derailed-ziya-2.1.5 lib/ziya/core_ext/string.rb
ziya-2.1.6 lib/ziya/core_ext/string.rb