lib/reality/naming.rb in reality-naming-1.3.0 vs lib/reality/naming.rb in reality-naming-1.4.0
- old
+ new
@@ -19,12 +19,14 @@
def camelize?(word)
camelize(word) == word
end
def camelize(input_word)
- word_parts = split_into_words(input_word, true).collect { |part| part[0...1].upcase + part[1..-1] }
- return word_parts[0].downcase if (word_parts.size == 1 && word_parts[0] == word_parts[0].upcase)
+ word_parts = split_into_words(input_word).collect { |part| part[0...1].upcase + part[1..-1] }
+ if word_parts.size > 0 && word_parts[0] == word_parts[0].upcase
+ word_parts[0] = word_parts[0].downcase
+ end
word = word_parts.join('')
word[0...1].downcase + word[1..-1]
end
def pascal_case?(word)
@@ -102,16 +104,15 @@
def clear_pluralization_rules
pluralization_rules.clear
end
- def split_into_words(word, downcase_all_upcased_words = false)
+ def split_into_words(word)
word = word.to_s.dup
word.gsub!(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
word.tr!('-', '_')
- result = word.split('_')
- downcase_all_upcased_words ? result.collect{|w| w.upcase == w ? w.downcase : w } : result
+ word.split('_')
end
private
def pluralization_rules