Sha256: c6591a8143fa3a970406124bc53eb95fb78fbbc25f4e119be14892e82773cdf0

Contents?: true

Size: 911 Bytes

Versions: 18

Compression:

Stored size: 911 Bytes

Contents

class String
  # generates filenames from classnames the rails way
  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

  # opposites underscore defined above
  def camelize(first_letter_in_uppercase = true)
    if first_letter_in_uppercase
      self.to_s.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }
    else
      self.first + camelize(lower_case_and_underscored_word)[1..-1]
    end
  end
  # # opposites underscore defined above
  # def camelize(lower_case_and_underscored_word, first_letter_in_uppercase = true)
  #   if first_letter_in_uppercase
  #     lower_case_and_underscored_word.to_s.gsub(/\\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }
  #   else
  #     lower_case_and_underscored_word.first + camelize(lower_case_and_underscored_word)[1..-1]
  #   end
  # end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
apirunner-0.5.5 lib/string_ext.rb
apirunner-0.5.0 lib/string_ext.rb
apirunner-0.4.10 lib/string_ext.rb
apirunner-0.4.9 lib/string_ext.rb
apirunner-0.4.8 lib/string_ext.rb
apirunner-0.4.7 lib/string_ext.rb
apirunner-0.4.6 lib/string_ext.rb
apirunner-0.4.5 lib/string_ext.rb
apirunner-0.4.4 lib/string_ext.rb
apirunner-0.4.3 lib/string_ext.rb
apirunner-0.4.2 lib/string_ext.rb
apirunner-0.4.1 lib/string_ext.rb
apirunner-0.4.0 lib/string_ext.rb
apirunner-0.3.10 lib/string_ext.rb
apirunner-0.3.9 lib/string_ext.rb
apirunner-0.3.8 lib/string_ext.rb
apirunner-0.3.7 lib/string_ext.rb
apirunner-0.3.6 lib/string_ext.rb