module LaserLemon module CacheFlow def cache!(name = {}, options = nil, &block) if controller = eval('@controller', block.binding) controller.fragment_for(@target, name, options, &block) else yield end end end end Builder::XmlMarkup.send(:include, LaserLemon::CacheFlow)