lib/alba/default_inflector.rb in alba-1.5.0 vs lib/alba/default_inflector.rb in alba-1.6.0
- old
+ new
@@ -1,7 +1,9 @@
module Alba
- # This module represents the inflector, which is used by default
+ # This module has two purposes.
+ # One is that we require `active_support/inflector` in this module so that we don't do that all over the place.
+ # Another is that `ActiveSupport::Inflector` doesn't have `camelize_lower` method that we want it to have, so this module works as an adapter.
module DefaultInflector
begin
require 'active_support/inflector'
rescue LoadError
raise ::Alba::Error, 'To use transform_keys, please install `ActiveSupport` gem.'
@@ -29,8 +31,24 @@
#
# @param key [String] key to be dasherized
# @return [String] dasherized key
def dasherize(key)
ActiveSupport::Inflector.dasherize(key)
+ end
+
+ # Underscore a key
+ #
+ # @param key [String] key to be underscore
+ # @return [String] underscored key
+ def underscore(key)
+ ActiveSupport::Inflector.underscore(key)
+ end
+
+ # Classify a key
+ #
+ # @param key [String] key to be classified
+ # @return [String] classified key
+ def classify(key)
+ ActiveSupport::Inflector.classify(key)
end
end
end