Sha256: c3ba180b350595629c8f5c7ed58beae1cc181d9f9a863220414945f5759bb1e4
Contents?: true
Size: 898 Bytes
Versions: 25
Compression:
Stored size: 898 Bytes
Contents
module Perennial class Inflector class << self def 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("-", "_"). downcase end 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(/(?:^|_)(.)/) { $1.upcase } else lower_case_and_underscored_word.first.downcase + camelize(lower_case_and_underscored_word)[1..-1] end end end end end class String def underscore Perennial::Inflector.underscore(self) end def camelize(capitalize_first_letter = true) Perennial::Inflector.camelize(self, capitalize_first_letter) end end
Version data entries
25 entries across 25 versions & 2 rubygems