J'ai une fonction Ruby très simple à utiliser, que je veux mettre à disposition via une API Web. L'API est essentiellement un point d'extrémité unique, par ex. http://example.com/crunch/<number>
et renvoie la sortie JSON.Bibliothèque Ruby avec le moins d'encombrement possible pour héberger une API simple et très simple.
Je peux évidemment installer Rails et l'implémenter rapidement. Je n'ai plus besoin d'aide d'un 'framework' autre que de gérer le HTTP pour moi. Aucun ORM, MVC et autres fioritures. À l'autre extrémité, je peux écrire du code Ruby pour écouter sur un port et accepter la requête GET et analyser les en-têtes HTTP, etc., etc. Je ne veux pas non plus réinventer cette roue.
Que puis-je utiliser pour exposer une API minimale sur le Web en utilisant quelque chose avec le moins de place/dépendances. Je lis à propos de Sinatra, Ramaze, etc., mais je crois qu'il peut y avoir un moyen de faire quelque chose d'encore plus simple. Puis-je simplement pirater du code sur Rack pour faire ce que j'essaie de faire?
Ou en d'autres termes, ce qui sera le plus simple Ruby équivalent du code suivant dans nodejs:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var ans = crunch(number);
res.end(ans);
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
Par "Rake" je suppose que vous voulez dire "Rack". Rake est "Ruby Make", alors que Rack est la couche intermédiaire sous Rails, Sinatra, etc. Vous pouvez répondre à votre question en lisant la documentation de Rack, Sinatra, Ramaze, et voir quel est leur code minimal pour créer un serveur. Utiliser quelque chose avec le moins d'encombrement/de dépendances pourrait signifier que vous écrivez beaucoup plus de code, alors qu'est-ce qui est le plus important, votre temps et votre facilité de débogage, ou votre empreinte? –
@theTinMan, je voulais absolument dire Rack. Je vais éditer la question. Je vais vérifier le code Rack. Merci pour la direction –
Je vérifierais vraiment Sinatra. C'est incroyable le peu de code qu'il faut pour créer un serveur utilisable. 'get '/' {'hi'}' en est l'essentiel. –