These two camelize
methods works quite similar, but there is a subtle difference to make first letter downcase like below.
'active_support'.camelize(:lower) # => 'activeSupport'
ActiveSupport::Inflector.camelize('active_support', false) # => 'activeSupport'
The tricky part is when we pass :lower
as the second argument to Inflector
.
ActiveSupport::Inflector.camelize('active_support', :lower) # => 'ActiveSupport'
In this case it ignores :lower
argument without any warning. This might cause a problem.
I think ActiveSupport::Inflector.camelize
should either accept :lower
just like String#camelize
or print warning that it might be wrong usage.