You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: message.rb
    path of file: ./repos/wechat_gate/lib/wechat_gate
    
    the code of the file until where you have to start completion: module WechatGate
  module Message
    #
    # http://mp.weixin.qq.com/wiki/17/f298879f8fb29ab98b2f2971d42552fd.html
    #
    # 消息发送只能是被动的，就是微信会把用户的聊天数据推送到服务器端，然后服务器利用返回值作出相应
    #

    def message_body(type, to,
    
    def message_body(type, to, body)
      content = case type.to_sym
      when :text
        %Q{
          <Content><![CDATA[#{body}]]></Content>
        }
      when :image
        # body: media_id
        %Q{
          <Image>
            <MediaId><![CDATA[#{body}]]></MediaId>
          </Image>
        }
      when :voice
        %Q{
          <Voice>
            <MediaId><![CDATA[#{body}]]></MediaId>
          </Voice>
        }
      when :video
        # body: { media_id: MEDIA_ID, title: TITLE, description: DESCRIPTION }
        %Q{
          <Video>
            <MediaId><![CDATA[#{body[:media_id]}]]></MediaId>
            <Title><![CDATA[#{body[:title]}]]></Title>
            <Description><![CDATA[#{body[:description]}]]></Description>
          </Video>
        }
      end