lib/cistern/string.rb in cistern-0.12.3 vs lib/cistern/string.rb in cistern-1.0.0.pre

- old
+ new

@@ -1,23 +1,31 @@ class Cistern::String - # stolen from activesupport/lib/active_support/inflector/methods.rb, line 198 + def self.camelize(string) + string.gsub(/[A-Z]+/) { |w| "_#{w.downcase}" }.gsub(/^_/, "") + end + + # File activesupport/lib/active_support/inflector/methods.rb, line 90 + def self.underscore(camel_cased_word) + word = camel_cased_word.to_s.gsub('::', '/') + #word.gsub!(/(?:([A-Za-z\d])|^)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1}#{$1 && '_'}#{$2.downcase}" } + word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') + word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') + word.tr!("-", "_") + word.downcase! + word + end + + # File activesupport/lib/active_support/inflector/methods.rb, line 168 def self.demodulize(path) path = path.to_s if i = path.rindex('::') path[(i+2)..-1] else path end end - # stolen from activesupport/lib/active_support/inflector/methods.rb, line 90 - def self.underscore(camel_cased_word) - return camel_cased_word unless camel_cased_word =~ /[A-Z-]|::/ - word = camel_cased_word.to_s.gsub(/::/, '/') - #word.gsub!(/(?:(?<=([A-Za-z\d]))|\b)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1 && '_'}#{$2.downcase}" } - word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') - word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') - word.tr!("-", "_") - word.downcase! - word + # @todo omg so bad + def self.pluralize(string) + "#{string}s" end end