instance method
camelize
Ruby on Rails 8.1.2
Since v2.2.3Signature
camelize(term, uppercase_first_letter = true)
Converts strings to UpperCamelCase. If the uppercase_first_letter parameter is set to false, then produces lowerCamelCase.
Also converts ‘/’ to ‘::’ which is useful for converting paths to namespaces.
camelize('active_model') # => "ActiveModel" camelize('active_model', false) # => "activeModel" camelize('active_model/errors') # => "ActiveModel::Errors" camelize('active_model/errors', false) # => "activeModel::Errors"
As a rule of thumb you can think of camelize as the inverse of #underscore, though there are cases where that does not hold:
camelize(underscore('SSLError')) # => "SslError"
Parameters
-
termreq -
uppercase_first_letteropt = true
Source
# File activesupport/lib/active_support/inflector/methods.rb, line 70
def camelize(term, uppercase_first_letter = true)
string = term.to_s
# String#camelize takes a symbol (:upper or :lower), so here we also support :lower to keep the methods consistent.
if !uppercase_first_letter || uppercase_first_letter == :lower
string = string.sub(inflections.acronyms_camelize_regex) { |match| match.downcase! || match }
elsif string.match?(/\A[a-z\d]*\z/)
return inflections.acronyms[string]&.dup || string.capitalize
else
string = string.sub(/^[a-z\d]*/) { |match| inflections.acronyms[match] || match.capitalize! || match }
end
string.gsub!(/(?:_|(\/))([a-z\d]*)/i) do
word = $2
substituted = inflections.acronyms[word] || word.capitalize! || word
$1 ? "::#{substituted}" : substituted
end
string
end
Defined in activesupport/lib/active_support/inflector/methods.rb line 70
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Inflector