Module: Mongoose::Util
- Defined in:
- lib/mongoose/util.rb
Class Method Summary collapse
-
.class_case_to_us_case(name) ⇒ Object
converts from things like UserName to things like user_name.
- .class_name_for_col(name) ⇒ Object
- .col_name_for_class(name) ⇒ Object
-
.pluralize(name) ⇒ Object
Adds an s.
-
.singularize(name) ⇒ Object
chops an s.
-
.us_case_to_class_case(name) ⇒ Object
converts from things like user_name to things like UserName.
Class Method Details
.class_case_to_us_case(name) ⇒ Object
converts from things like UserName to things like user_name
14 15 16 17 |
# File 'lib/mongoose/util.rb', line 14 def self.class_case_to_us_case(name) decapitalized = name.to_s.sub(/^./) { |match| match.downcase } decapitalized.gsub(/[A-Z]/) { |match| "_" + match.downcase } end |
.class_name_for_col(name) ⇒ Object
37 38 39 |
# File 'lib/mongoose/util.rb', line 37 def self.class_name_for_col(name) us_case_to_class_case(name.sub(/_id\z/, '')) end |
.col_name_for_class(name) ⇒ Object
33 34 35 |
# File 'lib/mongoose/util.rb', line 33 def self.col_name_for_class(name) class_case_to_us_case(name) + "_id" end |
.pluralize(name) ⇒ Object
Adds an s
20 21 22 |
# File 'lib/mongoose/util.rb', line 20 def self.pluralize(name) name.to_s + 's' end |
.singularize(name) ⇒ Object
chops an s
25 26 27 28 29 30 31 |
# File 'lib/mongoose/util.rb', line 25 def self.singularize(name) if md = name.to_s.match(/^(.+?)s\z/) md[1] else raise RuntimeError, "#{name} is not plural" end end |
.us_case_to_class_case(name) ⇒ Object
converts from things like user_name to things like UserName
7 8 9 10 11 |
# File 'lib/mongoose/util.rb', line 7 def self.us_case_to_class_case(name) name.to_s.split(/_/).map do |word| word.capitalize end.join end |