Extract humanize method from Extlib::Inflection to CouchRest.humanize, so that Extlib::Inflection dependency can be removed

This commit is contained in:
Geoff Buesing 2009-03-18 13:32:49 -05:00 committed by Matt Aimonetti
parent ef8933432a
commit d9417f3915
4 changed files with 15 additions and 3 deletions

View file

@ -69,6 +69,18 @@ module CouchRest
Object.module_eval("::#{$1}", __FILE__, __LINE__) Object.module_eval("::#{$1}", __FILE__, __LINE__)
end end
# extracted from Extlib
#
# Capitalizes the first word and turns underscores into spaces and strips _id.
# Like titleize, this is meant for creating pretty output.
#
# @example
# "employee_salary" #=> "Employee salary"
# "author_id" #=> "Author"
def humanize(lower_case_and_underscored_word)
lower_case_and_underscored_word.to_s.gsub(/_id$/, "").gsub(/_/, " ").capitalize
end
# todo, make this parse the url and instantiate a Server or Database instance # todo, make this parse the url and instantiate a Server or Database instance
# depending on the specificity. # depending on the specificity.
def new(*opts) def new(*opts)

View file

@ -60,7 +60,7 @@ module CouchRest
cattr_writer :default_error_messages cattr_writer :default_error_messages
def self.default_error_message(key, field, *values) def self.default_error_message(key, field, *values)
field = Extlib::Inflection.humanize(field) field = CouchRest.humanize(field)
@@default_error_messages[key] % [field, *values].flatten @@default_error_messages[key] % [field, *values].flatten
end end

View file

@ -64,7 +64,7 @@ module CouchRest
error_message = @options[:message] || ValidationErrors.default_error_message(:invalid, field_name) error_message = @options[:message] || ValidationErrors.default_error_message(:invalid, field_name)
field = Extlib::Inflection.humanize(field_name) field = CouchRest.humanize(field_name)
error_message = error_message.call(field, value) if error_message.respond_to?(:call) error_message = error_message.call(field, value) if error_message.respond_to?(:call)
add_error(target, error_message, field_name) add_error(target, error_message, field_name)

View file

@ -54,7 +54,7 @@ module CouchRest
# XXX: HACK seems hacky to do this on every validation, probably should # XXX: HACK seems hacky to do this on every validation, probably should
# do this elsewhere? # do this elsewhere?
field = Extlib::Inflection.humanize(field_name) field = CouchRest.humanize(field_name)
min = @range ? @range.min : @min min = @range ? @range.min : @min
max = @range ? @range.max : @max max = @range ? @range.max : @max
equal = @equal equal = @equal