Sha256: b5cc8be7ed29885544279b805823ff7e05da1fcd88389df703d6175d5b95455b

Contents?: true

Size: 302 Bytes

Versions: 2

Compression:

Stored size: 302 Bytes

Contents

class String

  def underscore
    self.class.underscore(self)
  end

  def self.underscore(camel_cased_word)
    camel_cased_word.to_s.gsub(/::/, '/').
      gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
      gsub(/([a-z\d])([A-Z])/,'\1_\2').
      tr(" ", "_").
      tr("-", "_").
      downcase
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nextbus-0.0.1 lib/nextbus/string_extensions.rb
nextbus-0.0.0 lib/nextbus/string_extensions.rb