def transform(*keys)
      raise ArgumentError, "requires a block" unless block_given?
      keys.each do |key|
        items.each do |item|
          item[key] = yield(item[key]) || item[key]
        end
      end
    end
def transform(*keys)
      raise ArgumentError, "requires a block" unless block_given?
      keys.each do |key|
        items.each do |item|
          item[key] = yield(item[key]) || item[key]
        end
      end
    end
Transform must be used inside an `emit` block.
 It can be used to alter named keys within the item set

 Usage:
     emit do
       transform :name, :description do |name|
         name.gsub(/\302/, "")
       end
     end

 In quasi-english: The result of the block is returned and set to each
 of the :name and :description keys in the result set.