File: proc.rb

package info (click to toggle)
amrita 1.0.2-8
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 1,884 kB
  • ctags: 1,362
  • sloc: ruby: 9,159; xml: 978; makefile: 110
file content (36 lines) | stat: -rw-r--r-- 820 bytes parent folder | download | duplicates (4)
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
32
33
34
35
36
require "amrita/template"
include Amrita

tmpl = TemplateText.new <<END
<ul>
  <li id=list><font id=data></font>
</ul>
END

languages = %w(java Ruby perl python c++ c sml cobol fortran ada lisp)
i = 0 
data = {
  :list => languages.collect do |l|
    {
      :data => proc do |elem|
        if l == "Ruby" # Ruby is special language to me!
          # use Amrita::Element's methods to edit
          elem[:color] = "red" 
          elem[:size] = "big"
          elem.set_text("I love Ruby!")
          # e() is Amrita's method that generates Element
          e(:em) { elem } 
        else
          i = i + 1 # i is shared by all procs
          elem[:color] = i%2 == 0 ? "blue" : "black"
          elem.set_text(l)
          elem
        end
      end
    }
  end
}

tmpl.prettyprint = true
tmpl.expand(STDOUT, data)