Archives de la catégorie ruby

Sortie de coco version 0.7.1 – Couverture de code pour Ruby

La version 0.7.1 de coco vient de sortir. Cette nouvelle version supprime quelques bugs mineurs.

Le site web est ici : home page.

Le projet est sur Github.

C’est quoi une couverture de code ?

En anglais «code coverage», la couverture de code est une mesure de la qualité de vos tests. La couverture de code décrit le pourcentage de code applicatif réellement/effectivement testé.

Coco ?

Coco est un outil de couverture de code pour Ruby 1.9.2, 1.9.3 et 2.0.0. Il s’insère dans votre framework de test (rspec ou test/unit) et vous indique, sur la console ou dans un rapport html, les endroits où votre code applicatif n’est pas testé.

À bientôt.

, , , ,

Poster un commentaire

Sortie de Happy Phone Number 0.0.2

Happy Phone Number fournit quelques méthodes simples pour formater des numéros de téléphone en provenance des fichiers modèles de Rails.

Prérequis

Les numéros de téléphone doivent être sauvegardés avec seulement des chiffres, pas d’espace, pas de point, pas de tiret, juste les chiffres.

Démonstration

Admettons que vous ayez un modèle Contact avec un champ phone. Voici ce que Happy Phone Number peut faire :

<%= @contact.happy_phone(:fr) %>
#=> "01 23 45 67 89"
<%= @contact.happy_inter_phone(:fr) %>
#=> "+33 1 23 45 67 89"

Cela fonctionne avec n’importe quel nom de champ :

<%= @contact.happy_telephone(:fr) %>
#=> "01 23 45 67 89"

<%= @contact.happy_portable(:fr) %>
#=> "01 23 45 67 89"

On peut aussi spécifier le séparateur :

<%= @contact.happy_phone(:fr, '-') %>
#=> "01-23-45-67-89"

Pour l’instant 4 pays sont supportés :

  • Belgique
  • Danemark
  • France
  • Islande

Pour les autres pays, qui ne sont pas encore ajoutés, vous pouvez utiliser une méthode de masquage simple :

<%= @contact.happy_phone("#### ###-###") %>
#=> "0123 456-789"

Le projet est sur Github.

A bientôt.

, , , , , ,

1 commentaire

Formattez vos numéros de téléphone avec le plugin rails Happy Phone Number

Happy Phone Number est un plugin rails pour formater facilement et simplement des numéros de téléphone sur vos pages web.

Edit:
Cet article décrit la version 0.0.1 de Happy Phone Number, lisez plutôt cet article qui décrit la version suivante…

Installation

C’est comme d’habitude, insérez cette ligne dans votre Gemfile :

gem 'happy_phone_number'

Utilisation

Ajouter happy_phone_number dans le fichier model :

class Contact < ActiveRecord::Base
  attr_accessible :email, :name, :phone, :fax
  happy_phone_number
end

Lire la suite »

, , , , , ,

Poster un commentaire

Comment accélérer le développement rails avec les alias du shell

Vous êtes fatigués de taper régulièrement dans votre terminal :

$ bundle exec rake quelque_chose

Vous n’en pouvez plus de saisir ce genre de commande à chaque fois que vous touchez à la base de données :

$ bundle exec rake db:migrate
$ bundle exec rake db:test:prepare
$ bundle exec annotate --position before

Même un simple :

$ rails g migration BlaBlaBla

vous déprime ? Voici une solution. Lire la suite »

, , , , , , ,

Poster un commentaire

Le format de fichier YAML pour les débutants

C’est quoi un fichier YAML

YAML est un format de fichier texte pour la sérialisation des données, très utilisé dans la communauté Ruby. YAML vous servira aussi bien pour enregistrer l’état d’une application que pour les fichiers de configuration. Il existe des bibliothèques YAML pour un tas de langages majeurs : C, C++, Ruby, Python, Java, Perl, C#, Javascript, Php, etc…
Lire la suite »

, , ,

Poster un commentaire

Refactoring : La bonne longueur pour une méthode

Un objectif important du refactoring est d’obtenir des méthodes courtes. Pourquoi ? Parce qu’un code court est plus simple à lire et à maintenir, provoquera moins d’erreurs et sera plus modulaire. D’accord, ça c’est facile à comprendre.

Mais qu’appelle-t-on une méthode courte ? Quand sait-on qu’une méthode est assez courte ? Quelle unité de longueur doit-on utiliser ? La réponse à cette question est moins évidente qu’il n’y parait.

Lire la suite »

, ,

Poster un commentaire

Coco, code coverage pour ruby 1.9

Un matin, je part à la recherche d’un outil de couverture de test pour un nouveau projet. Celui que j’utilise habituellement, Rcov ne fonctionne pas avec la version 1.9 de Ruby,  et son développement semble au point mort depuis quelques mois.

Je trouve rapidement plusieurs projets prometteurs, basé sur le fameux post de Aaron Patterson, mais aucun d’entre eux ne me satisfait totalement.

Ça y est, je suis énervé ! J’ai passé une demi-journée sur un truc qui aurait du prendre 5 minutes, et je n’ai toujours rien. Je décide donc d’écrire moi-même un outil de code coverage… On fait parfois des trucs bizarres sous le coup de l’énervement. Et une fois l’énervement dissipé, il faut se justifier, si possible avec une certaine dose de mauvaise foi :

  • Ruby 1.9 prend en charge la plus grosse partie du travail, l’outil se résumera à peu près à faire du rapport
  • Je pense que ça peut être fait rapidement (après tout, on parle de Ruby !)
  • Enfin, argument ultime, ça fait des années que je rêve de voir un outil de code coverage baptisé coco (et oui, ça me fait rire)

Lire la suite »

, ,

Poster un commentaire