eRuby

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir erb.
eRuby

Informations
Type Moteur de template (en)Voir et modifier les données sur Wikidata
Licence Licence RubyVoir et modifier les données sur Wikidata
Site web www2a.biglobe.ne.jp/~seki/ruby/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.

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]