eRuby

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

eRuby (Embedded Ruby) est un système de modèles, ou «templates», qui enchâsse Ruby à l'intérieur d'un document texte. On l'utilise pour inclure du code Ruby dans un document HTML, à la manière de ASP, JSP ou encore PHP.

Utilisation[modifier | modifier le code]

eRuby permet au code Ruby d'être inclus entre une paire de balises <% et %>. Ces blocs de code sont ensuite évalués, puis substitués par le résultat de l'évaluation.

Voici quelques exemples de la syntaxe d'eRuby:

Ligne unique de Ruby

<% print "hello" %>

Ici, le résultat de l'évaluation, soit la chaîne de caractères « hello », viendrait substituer la ligne de code.

Lignes multiples

Un segment de code eRuby à multiples lignes fonctionne comme un bloc en Ruby et se termine par <% end %>. On peut l'utiliser afin de représenter une boucle

<ul>
<% 3.times do %>

  <li>list item</li>

<% end %>
</ul>

Ce qui produit :

  • Item de la liste
  • Item de la liste
  • Item de la liste

Une syntaxe alternative équivalente serait:

<ul>
% 3.times do
  <li>list item</li>
% end
</ul>

Substitution par résultat d'une expression

<%= expression expression %>

Les balises qui permettent la substitution par une expression Ruby sont <%= et %>. Une expression telle que 13 + 37 serait remplacée par son résultat, soit 50 dans ce cas.

Commentaire

<%# commentaire %>

Les commentaires sont délimités par les balises <%# et %> et sont ignorés.

Il est aussi possible de procéder à une substitution par chaîne de caractères avec la syntaxe:

#{nom_de_la_chaine}

Implémentations[modifier | modifier le code]

Il existe plusieurs implémentations d'eRuby :

eruby[modifier | modifier le code]

eruby est une implémentation d'eRuby écrite dans le langage de programmation C.

erb[modifier | modifier le code]

erb est une implémentation d'eRuby écrite entièrement en Ruby, et qui se retrouve dans la bibliothèque standard Ruby.

erubis[modifier | modifier le code]

erubis est une version d'eRuby implémentée en Ruby et en Java, dont la performance serait meilleure que celle d'erb ou d'eruby[1].

ember[modifier | modifier le code]

ember est une implémentation Ruby d'eRuby qui permet le débogage des templates eRuby, améliore leur potentiel de composition, et fourni des directives raccourcies.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]