Écrire un client en Ruby pour un service ou une API en TDD

Magazine
Marque
GNU/Linux Magazine
Numéro
237
Mois de parution
mai 2020
Domaines


Résumé

Il est souvent utile d'abstraire une fonctionnalité dans une classe en Ruby. Cela peut aller d'un simple objet de service pour réaliser une série d'actions sur un ou plusieurs objets à un client pour une API.


Nous allons voir par l’exemple dans cet article comment définir un client pour un service (nous utiliserons Redis) et l’utiliser dans une classe Ruby. Nous ferons en sorte de pouvoir configurer le client lors d'une phase d'initialisation, puis nous verrons comment utiliser le client.

1. Le décor

Commençons avec le Gemfile :

# Gemfile
source 'https://rubygems.org'
 
gem 'rspec'
gem 'redis'

Comme nous allons faire un client Redis, il nous faut une librairie pour parler avec Redis. Notre client agira en abstraction supplémentaire, par-dessus le client Redis de base.Nous allons aussi suivre un processus TDD (Test Driven Development), donc il nous faut Rspec :

$ bundle install

Il nous faudra aussi une instance de Redis. Pour faire simple, nous pouvons utiliser un container Docker redis. Voici un docker-compose.yml prêt à l'emploi :

version: "3.7"
services:
   glmf_redis:    
   image: redis:5.0.7    
   ports:      
      -...
Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Mise au point à distance avec GDB

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Le débogueur GDB est un outil indispensable pour la mise au point de programmes, a fortiori dans le cas du développement croisé (mise au point à distance ou « remote debug »). Dans cet article, nous allons voir comment mettre en place différentes solutions suivant plusieurs cas de figure (programme en espace utilisateur, noyau Linux statique ou pilote en espace noyau). Afin de permettre au plus grand nombre de lecteurs de tester les exemples décrits, nous utiliserons l’émulateur QEMU (et Buildroot) pour les démonstrations.

Jouons avec l'obfuscation de code

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Rendre son code illisible lorsque l'on prêche pour l'open source, c'est le mal incarné. Toutefois, il est possible de concevoir que dans certains cas, on souhaite obscurcir des parties d'un code et, surtout d'un point de vue purement technique, cela peut se révéler intéressant.

Le point sur le débogage en Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Il n'existe pas une unique façon de déboguer du code en Python. Dans cet article, nous allons faire un rapide tour des différentes techniques qui s'offrent à vous pour traquer les bugs.

Les bases de LaTeX sous GNU/Linux et Windows

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Et si nous retournions aux sources ? Des articles sont régulièrement consacrés à LaTeX dans ce magazine, mais comment les utiliser si l'on part de zéro ? Dans cet article, je vous propose de voir ou revoir comment installer LaTeX, configurer un éditeur et gérer les extensions/paquets pour une utilisation sous GNU/Linux ou Windows. Une sorte de guide de survie pour prof de maths, en cas d'obligation d'enseignement à distance...

Débugage facile avec Sentry

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Nous le savons tous, aucun code n’est exempt de bugs. Nous avons beau écrire tous les tests unitaires du monde, tous les tests fonctionnels, avoir une couverture du code par nos tests de 200 %, il y a toujours des bugs qui passent à travers les mailles du filet. Sentry est là pour vous aider à les trouver et à les corriger grâce à vos utilisateurs, et ce, sans qu’ils ne s’en rendent compte.