-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample_sinatra.fy.shtml
31 lines (25 loc) · 1.76 KB
/
example_sinatra.fy.shtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div class="highlight"><pre><span class="nf">require:</span> <span class="s">"sinatra.fy"</span>
<span class="nf">configure:</span> <span class="ss">'production</span> <span class="nf">with:</span> <span class="p">{</span>
<span class="nf">disable:</span> <span class="ss">'show_errors</span>
<span class="nf">enable:</span> <span class="ss">'logging</span>
<span class="p">}</span>
<span class="nf">set:</span> <span class="ss">'port</span> <span class="nf">to:</span> <span class="mi">3000</span>
<span class="nf">before:</span> <span class="p">{</span>
<span class="s">"incoming request: #{</span><span class="n">request inspect</span><span class="s">}"</span> <span class="n">println</span>
<span class="p">}</span>
<span class="k">def</span> <span class="nf">page:</span> <span class="n">text</span> <span class="p">{</span>
<span class="s">"""</span>
<span class="s"> <html></span>
<span class="s"> <body></span>
<span class="s"> <h1>#{</span><span class="n">text</span><span class="s">}</h1></span>
<span class="s"> </body></span>
<span class="s"> </html></span>
<span class="s"> """</span>
<span class="p">}</span>
<span class="nf">get:</span> <span class="s">"/:p"</span> <span class="nf">do:</span> <span class="p">|</span><span class="n">param</span><span class="p">|</span> <span class="p">{</span>
<span class="nf">page:</span> <span class="s">"Fancy web page: #{</span><span class="n">param</span><span class="s">}"</span>
<span class="p">}</span>
<span class="nf">not_found:</span> <span class="p">{</span>
<span class="nf">page:</span> <span class="s">"Invalid request URL."</span>
<span class="p">}</span>
</pre></div>