module Spec::Example::ModuleInclusionWarnings

def method_missing(sym, *args, &blk)

def method_missing(sym, *args, &blk)
  md = MethodDispatcher.new(self.class.described_module, self)
  self.respond_to?(sym) ? md.call(sym, *args, &blk) : super
end

def respond_to?(sym, include_private_data=false)

NOTE - we don't need the second arg, but extenders do: http://www.ruby-doc.org/core/classes/Object.html#M000604
def respond_to?(sym, include_private_data=false)
  MethodDispatcher.new(self.class.described_module).respond_to?(sym) ? true : super
end