extension_module_nameに::が含まれてしまうために例外が発生する(2.0.2で確認。ソースをみると2.1でも起きそう)。とりあえず、initializer/active_record/association_ext.rb を作って以下を記述すれば動作する。

 module ActiveRecord
   module Associations
     module ClassMethods
       def create_extension_modules(association_id, block_extension, extensions)
         extension_module_name = "#{self.to_s.gsub(/::/, '')}#{association_id.to_s.camelize}AssociationExtension"
 
         silence_warnings do
           Object.const_set(extension_module_name, Module.new(&block_extension))
         end
 
         Array(extensions).push(extension_module_name.constantize)
       end
     end
   end
 end