require 'active_support/core_ext/class/removal' require 'active_support/core_ext/object/blank' class Object def extended_by #:nodoc: ancestors = class << self; ancestors end ancestors.select { |mod| mod.class == Module } - [ Object, Kernel ] end def extend_with_included_modules_from(object) #:nodoc: object.extended_by.each { |mod| extend mod } end end