Merge pull request #1006 from bf4/inflector-testing

Fix adapter inflection bug for api -> API
This commit is contained in:
João Moura 2015-07-20 23:20:00 -04:00
commit 6266b6a002
2 changed files with 12 additions and 2 deletions

View File

@ -33,7 +33,8 @@ module ActiveModel
end
def self.adapter_class(adapter)
"ActiveModel::Serializer::Adapter::#{adapter.to_s.classify}".safe_constantize
adapter_name = adapter.to_s.classify.sub("API", "Api")
"ActiveModel::Serializer::Adapter::#{adapter_name}".safe_constantize
end
def fragment_cache(*args)

View File

@ -38,6 +38,15 @@ module ActiveModel
adapter = ActiveModel::Serializer::Adapter.create(@serializer, { adapter: :json_api})
assert_equal ActiveModel::Serializer::Adapter::JsonApi, adapter.class
end
def test_inflected_adapter_class_for_known_adapter
ActiveSupport::Inflector.inflections(:en){|inflect| inflect.acronym 'API' }
klass = ActiveModel::Serializer::Adapter.adapter_class(:json_api)
ActiveSupport::Inflector.inflections.acronyms.clear
assert_equal ActiveModel::Serializer::Adapter::JsonApi, klass
end
end
end
end