Aller au contenu

eRuby

Un article de Wikipédia, l'encyclopédie libre.

eRuby

Informations
Type Système de gabaritVoir et modifier les données sur Wikidata
Documentation docs.ruby-lang.org/en/trunk/ERB.html et docs.ruby-lang.org/ja/latest/library/erb.htmlVoir et modifier les données sur Wikidata

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[1].

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>Item de liste</li>

<% end %>
</ul>

Ce qui produit :

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

Une syntaxe alternative équivalente serait:

<ul>
% 3.times do
  <li>Item de liste</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 est une implémentation d'eRuby écrite dans le langage de programmation C.

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

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[2].

ember[3] 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.

Références

[modifier | modifier le code]
  1. (en) Gregory T. Brown, Ruby best practices, O'Reilly, , 330 p. (ISBN 978-0-596-52300-8, OCLC 299700741, lire en ligne Inscription nécessaire), p. 279-281
  2. (en) « Erubis: fast and extensible eRuby implementation » [archive] Accès libre (consulté le )
  3. (en) « ember(1) » Accès libre, (consulté le )