handle activesupport 3 and 4