É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...

L’édition des liens démystifiée

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Parmi les étapes concourant à la fabrication d’un exécutable, l’édition des liens est certainement la plus méconnue. Elle est pourtant cruciale à plus d’un titre. Le choix entre édition statique et dynamique des liens a notamment des implications sur la facilité de développement, la sécurité et la performance.

Scikit-image, une alternative à OpenCV pour la reconnaissance d'images

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Une fois n'est pas coutume, nous allons découvrir et utiliser une alternative à OpenCV, scikit-image communément appelé skimage. Nous implémenterons la reconnaissance d'images avec la méthode des histogrammes de gradients orientés (HOG : Histogram of Oriented Gradients) associée à une machine à vecteurs de support (SVM : Support Vector Machine). Cette méthode est employée dans bien des applications telles que l'automobile, pour la détection de piétons [1].