lib/ews/types/item.rb
def copy(new_folder)
      new_folder = new_folder.id if new_folder.kind_of?(GenericFolder)
      copy_opts = {
        :to_folder_id => {:id => new_folder},
        :item_ids => [{:item_id => {:id => self.id}}]
      }
      resp = @ews.copy_item(copy_opts)
      rmsg = resp.response_messages[0]

      if rmsg.success?
        obj = rmsg.items.first
        itype = obj.keys.first
        obj[itype][:elems][0][:item_id][:attribs][:id]
      else
        raise EwsError, "Could not copy item. #{rmsg.response_code}: #{rmsg.message_text}"
      end
    end
def copy(new_folder)
      new_folder = new_folder.id if new_folder.kind_of?(GenericFolder)
      copy_opts = {
        :to_folder_id => {:id => new_folder},
        :item_ids => [{:item_id => {:id => self.id}}]
      }
      resp = @ews.copy_item(copy_opts)
      rmsg = resp.response_messages[0]

      if rmsg.success?
        obj = rmsg.items.first
        itype = obj.keys.first
        obj[itype][:elems][0][:item_id][:attribs][:id]
      else
        raise EwsError, "Could not copy item. #{rmsg.response_code}: #{rmsg.message_text}"
      end
    end
def copy ( new_folder ) new_folder = new_folder . id if new_folder . kind_of? ( GenericFolder ) copy_opts = { :to_folder_id => { :id => new_folder } , :item_ids => [ { :item_id => { :id => self . id } } ] } resp = @ews . copy_item ( copy_opts ) rmsg = resp . response_messages [ 0 ] if rmsg . success? obj = rmsg . items . first itype = obj . keys . first obj [ itype ] [ :elems ] [ 0 ] [ :item_id ] [ :attribs ] [ :id ] else raise EwsError , "Could not copy item. #{rmsg.response_code}: #{rmsg.message_text}" end end
Copy this item to a new folder
 @param [String,Symbol,GenericFolder] new_folder The new folder to move it to. This should
   be a subclass of GenericFolder, a DistinguishedFolderId (must me a Symbol) or a FolderId (String)
 @return [String] the new Id of the copied item
Copy this item to a new folder