[ruby-no] eRuby og dokumentasjon

Grunde Løvoll ruby-no at yahoogroups.com
12 Nov 2002 10:48:50 +0100


--=-IaaAQQ1Bu3jUaZp3tRQE
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hei,

er enig i at dokumentasjonen p=E5 eRuby er litt stusselig. Kunne sikkert
=F8nske seg mer dokumentasjon. Men egentlig er det ikke noe stort problem,
all dokumentasjon som er relevant for "vanlig bruk" av Ruby er ogs=E5
relevant for eRuby, siden eRuby ikke er noe mer enn Ruby kode innlagt i
en eller annen statisk tekst. Etter min mening er eRuby derfor f=F8rst og
fremst egnet til web-sider el. hvor andelen kode er mindre enn annen
statisk tekst output. Man legger s=E5 annen funksjonalitet inn i
biblioteker som er "standard Ruby" og s=E5klart ogs=E5 kan kalles/brukes fr=
a
ikke eRuby programmer i tillegg til eRuby.

eRuby's st=F8rste nytteverdi (man kan sikkert si det samme om ePerl, PHP,
...) ligger i muligheten til =E5 separere HTML (el.) fra program-kode, og
det som gj=F8r eRuby utrolig kult er at det "embedede" spr=E5ket er Ruby
ikke Perl, Python eller PHP... Det finnes sikkert aspekter ved eRuby
programmering som fordrer mer dokumentasjon. Men for =E5 gj=F8re enkle ting
(web sider er vel stort sett enkle?) er faktisk den sparsome/element=E6re
dokumentasjonen som finnes tilstrekkelig;-)... Det som g=E5r utover det
element=E6re overlater man det rett og slett til biblioteker/klasser
skrevet i "plain Ruby".

Uansett er kanskje ikke selv den enkleste dokumentasjonen p=E5 eRuby for
tilgjengelig? S=E5 jeg pr=F8ver meg p=E5 en kort oversikt p=E5 element=E6r
dokumentasjon:
(Bok) Programming Ruby s149-152 (finnes ogs=E5 online):
   Enkel intro til eRuby. Element=E6r bruk og installasjon.

(Bok) Ruby in a nutshell s174:
   Ekstremt knapp innf=F8ring i eRuby or Erb...

(kildekode;-) eruby source code:
   Kan lastes ned fra http://www.modruby.net/
   I direktoriet examples i kildekoden finnes det noen
   enkle eksempler (kanskje for enkle).


Vedlagt finner dere et eksempel p=E5 "enkelt" eRuby-CGI skript som skriver
ut dagens dato, sjekker om det er l=F8rdag, gir litt host/remote_host
info, skriver ut passede parametre og lister tilgjengelige CGI metoder.=20
For=F8vrig ligger scriptet ute p=E5: www.fiskekroken.org/eruby_ex.cgi s=E5
dere kan se "virkningen"...

H=E5per dette kan v=E6re et startpunkt for noen :-)

Grunde

To unsubscribe from this group, send an email to:
ruby-no-unsubscribe@yahoogroups.com

=20

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/=20


--=-IaaAQQ1Bu3jUaZp3tRQE
Content-Disposition: attachment; filename=eruby_ex.erb
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=eruby_ex.erb; charset=ISO-8859-1

#!/usr/bin/eruby -Mc
<%
  # dette er en blokk med ruby kode...
  # #! linja over erstattes med din path til eruby
  # opsjonen -Mc setter CGI mode som s=F8rger for at
  # starten p=E5 fila blir riktig og setter $SAFE=3D1
=20=20
  require "cgi"
  require "date"

  foo =3D CGI.new("query")  # ny klient tilkopling, ingen HTML output=20
  foo_input =3D foo.params
%>
<html> <%# dette er for=F8vrig en eRuby kommentar %>
<head>
  <title>eRuby test <%=3D Date::today.to_s  %></title>
</head>
<body bgcolor=3D"ffffff">
<h1>eRuby -- test side</h1>
Dagens dato er: <%=3D Date::today.to_s %><br>
<%
# sjekker om det er l=F8rdag ...
if Date::today.cwday =3D=3D 6
%>
Yahooo det er l=F8rdag!!!
<%
end # h=F8rer til if setningen over...
%>
<p>
<h2>Diverse rusk og rask</h2>
server_name =3D <%=3D foo.server_name %><br>
host =3D <%=3D foo.host %><br>
script_name =3D <%=3D foo.script_name %><br>
referer =3D <%=3D foo.referer %><br>
remote_addr =3D <%=3D foo.remote_addr %><br>
user_agent =3D <%=3D foo.user_agent %><br>


<p>
<h2>Scriptet fikk disse parameterne:</h2>
<%
foo_input.keys.each do |foo_key|
%>
<%=3D foo_key %>: <%=3D foo_input[foo_key][0] %><br>
<%
end  # slutt p=E5 each blokken...
%>

<p>
<h2>tilgjengelige CGI metoder:</h2>
<%
foo.methods.each do |meth|
%>
<%=3D meth %><br>
<%
end
%>
</body>
</html>

--=-IaaAQQ1Bu3jUaZp3tRQE--