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