2010-04-19 6 views
0

J'ai été occupé sur un site de réseau social pour les développeurs pendant un certain temps (comme un mélange de github et Facebook), et je veux mettre en œuvre un système simple pour créer des dépôts, comme sur github. Pour cela, je veux créer une application en ligne de commande dans Ruby (pas Rails), qui va vérifier s'il y a eu des changements, puis télécharger des fichiers modifiés ou nouveaux. Le site de réseautage social est écrit en Ruby, en utilisant le Framework Ruby on Rails:Télécharger un fichier dans une application Rails à partir d'une application de ligne de commande Ruby

DEVELOPER'S PC OR MAC       SERVER 
Command-line (Ruby, local) <-------> Social networking site (Rails, web) 

Pour l'application Rails, je currenly utilise le plugin Paperclip pour un téléchargeur de navigateur. Pour le téléchargeur en ligne de commande, que pensez-vous être le meilleur moyen de télécharger? Sockets, une bibliothèque http, SSH, e-mail , FTP, quelque chose d'autre? Le processus de téléchargement devrait être rapide, et les fichiers ne sont pas vraiment plus gros que 200kb (à moins que ce soit Brainfuck, mais à part ça), car ce ne sont que des fichiers de code source.

Répondre

0

ont pas utilisé moi-même, mais HTTPClient semble prometteur pour cela:

http://dev.ctor.org/doc/httpclient/

De leur HTTPClient docs:

File.open('/tmp/post_data') do |file| 
    body = { 'upload' => file, 'user' => 'nahi' } 
    res = clnt.post(uri, body) 
end 

Aussi juste remarqué il y a beaucoup d'autres options décrites dans un previous stack overflow posting

+0

Est-ce que cela fonctionne également pour les fichiers binaires? –

+0

Je ne vois pas pourquoi cela ne fonctionnerait pas. Vous publiez beaucoup de données de la même manière que dans un formulaire en plusieurs parties, et il n'est pas nécessaire de spécifier l'encodage du fichier que vous envoyez ici. Devrait être assez facile de câbler un test pour le confirmer. – mczepiel

Questions connexes