[gugs] ruby, bonito lenguaje

Esteve Fernàndez esteve en sindominio.net
Dom Ene 6 01:15:58 CET 2002


On Sat, 5 Jan 2002 21:05:00 +0100
matze <matze en sindominio.net> wrote:

> la versión de ruby del archivo gráfico encuentras en
> http://www.sindominio.net/~matze/devel/ruby/ag_ruby.tar.gz. hace mucho que la
> toqué por última vez. el fichero contiene dos 'versiones' (en el mismo
> directorio, solo eran pruebas ...): una con está mezcla de código ruby con
> html ('técnica' bien conocida de php), y otra que intenta evitarlo (aunque no
> lo consigue 100%), usando xml con tags especiales. hay 4 scripts que se
> encuentran en / (del ag), los que terminan con '_xml.rb' son lógicamente los
> de la versión ruby. el ag no es gran cosa, así no sé si te servirá para algo.
> si realmente quieres probarlo tienes que configurar tb una base de datos (creo
> de momento solo tiene soporte mysql). ya me preguntarás la estuctura ...

Bueno, lo he mirado por encima. Es curioso, con un par de días de Ruby me
encuentro "como en casa" ;D En serio, cada línea de Ruby que hago me divierte
más que la anterior (preparaos, si ya hacía marketing con IceWM y Sylpheed, con
Ruby va a ser la hostia!).

Algunas ideas que podrían servir para el AG y Ruby:
- en lugar de usar "print <html><head> ....", se puede usar la librería "cgi"
(sacado del rubybook):

require "cgi"
cgi = CGI.new("html4")
cgi.out {
	cgi.html {
		cgi.head { "\n" + cgi.title {"Hola mundo"} }
	}
}

de todas formas, me parece un poco feo (es como añadir html en un archivo ruby,
sólo que usando los métodos de ruby)

- usar el Embedded-Ruby, que sería a la inversa de esto y más elegante (creo).
Añadir código de Ruby dentro de documentos html, muy parecido a las plantillas
de slashcode (sacado tb del rubybook):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>eruby example</title>
</head>
<body>
<h1>Enumeration</h1>
<ul>
<%(1..10).each do|i|%>
  <li>number <%=i%></li>
<%end%>
</ul>
<h1>Environment variables</h1>
<table>
<%ENV.keys.sort.each do |key|%>
  <tr>
    <th><%=key%></th><td><%=ENV[key]%></td>
  </tr>
<%end%>
</table>
</body>
</html>

dentro de cada <% se incrusta el código de eruby. El aspecto no dista mucho de
las plantillas de slash:

__section__
default
__description__
Message that appears when a ecolution is in process
* ecolution_sid: the sid of the story been evolutioned

__title__

__page__
admin_acl
__lang__
en_US
__name__
ecolutionMessage
__template__
<br>Story ecolution from <a href=[% constants.rootdir %]/article.pl?sid=[% ecolu
tion_sid %]>[% ecolution_sid %]</a>
__seclev__
500

También es parecido al módulo Mason de Perl, que incrusta Perl en html.

Las páginas de eruby terminan con la extensión .rhtml, necesitan eruby y a poder
ser, mod_ruby (aumenta el rendimiento). Adéu.


> 
> > PD: Ruby es 'k00l' ;D
> 
> ¿no serás uno de estos h4x0RZ?

d00d z0Y 31337!!

--
Imagination is more important than knowledge
esteve en sindominio.net
Key fingerprint = EC56 9368 0DBA B56E F67E  D938 27F0 3F30 C1B7 00AA
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 189 bytes
Descripción: no disponible
Url        : /pipermail/gugs/attachments/20020106/c8ce33e1/attachment.pgp


Más información sobre la lista de distribución Gugs