tenjin 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.txt +54 -0
  3. data/benchmark/bench.rb +502 -0
  4. data/benchmark/bench_context.rb +17 -0
  5. data/benchmark/bench_context.yaml +141 -0
  6. data/benchmark/templates/_footer.html +4 -0
  7. data/benchmark/templates/_header.html +52 -0
  8. data/benchmark/templates/bench_eruby.rhtml +29 -0
  9. data/benchmark/templates/bench_tenjin.rbhtml +29 -0
  10. data/bin/rbtenjin +449 -0
  11. data/doc-api/classes/Tenjin.html +141 -0
  12. data/doc-api/classes/Tenjin/ArrayBufferTemplate.html +270 -0
  13. data/doc-api/classes/Tenjin/BaseContext.html +312 -0
  14. data/doc-api/classes/Tenjin/Context.html +126 -0
  15. data/doc-api/classes/Tenjin/ContextHelper.html +433 -0
  16. data/doc-api/classes/Tenjin/Engine.html +616 -0
  17. data/doc-api/classes/Tenjin/ErubisTemplate.html +166 -0
  18. data/doc-api/classes/Tenjin/HtmlHelper.html +359 -0
  19. data/doc-api/classes/Tenjin/Preprocessor.html +242 -0
  20. data/doc-api/classes/Tenjin/Template.html +916 -0
  21. data/doc-api/created.rid +1 -0
  22. data/doc-api/files/README_txt.html +185 -0
  23. data/doc-api/files/lib/tenjin_rb.html +136 -0
  24. data/doc-api/fr_class_index.html +36 -0
  25. data/doc-api/fr_file_index.html +28 -0
  26. data/doc-api/fr_method_index.html +89 -0
  27. data/doc-api/index.html +24 -0
  28. data/doc-api/rdoc-style.css +208 -0
  29. data/doc/docstyle.css +188 -0
  30. data/doc/examples.html +312 -0
  31. data/doc/faq.html +909 -0
  32. data/doc/users-guide.html +1691 -0
  33. data/lib/tenjin.rb +959 -0
  34. data/setup.rb +1331 -0
  35. data/tenjin.gemspec +58 -0
  36. data/test/assert-text-equal.rb +45 -0
  37. data/test/data/examples/form/create.rbhtml +4 -0
  38. data/test/data/examples/form/form.rbhtml +14 -0
  39. data/test/data/examples/form/layout.rbhtml +8 -0
  40. data/test/data/examples/form/main.rb +9 -0
  41. data/test/data/examples/form/main.result +21 -0
  42. data/test/data/examples/form/update.rbhtml +4 -0
  43. data/test/data/examples/preprocessing/helper.rb +16 -0
  44. data/test/data/examples/preprocessing/main.rb +11 -0
  45. data/test/data/examples/preprocessing/main.result +17 -0
  46. data/test/data/examples/preprocessing/select.rbhtml +15 -0
  47. data/test/data/examples/preprocessing/select_P.result +18 -0
  48. data/test/data/examples/table/table.rb +9 -0
  49. data/test/data/examples/table/table.rbhtml +16 -0
  50. data/test/data/examples/table/table.result +20 -0
  51. data/test/data/examples/table/table_s.result +18 -0
  52. data/test/data/faq/ex1.rbhtml +5 -0
  53. data/test/data/faq/ex10-baselayout.rbhtml +27 -0
  54. data/test/data/faq/ex10-content.rbhtml +12 -0
  55. data/test/data/faq/ex10-customlayout.rbhtml +11 -0
  56. data/test/data/faq/ex10_inherit.result +25 -0
  57. data/test/data/faq/ex11-bench.rb +28 -0
  58. data/test/data/faq/ex11-content.rbhtml +9 -0
  59. data/test/data/faq/ex11-layout1.rbhtml +5 -0
  60. data/test/data/faq/ex11-layout2.rbhtml +6 -0
  61. data/test/data/faq/ex11.rb +5 -0
  62. data/test/data/faq/ex11.rbhtml +8 -0
  63. data/test/data/faq/ex11.source +11 -0
  64. data/test/data/faq/ex11_arraybuffer.result +15 -0
  65. data/test/data/faq/ex1_chksyntax.result +3 -0
  66. data/test/data/faq/ex2-content.rbhtml +3 -0
  67. data/test/data/faq/ex2-layout.rbhtml +11 -0
  68. data/test/data/faq/ex2_removenl.result +19 -0
  69. data/test/data/faq/ex3.rb +4 -0
  70. data/test/data/faq/ex3.rbhtml +1 -0
  71. data/test/data/faq/ex3_escapefunc1.result +2 -0
  72. data/test/data/faq/ex3_escapefunc2.result +2 -0
  73. data/test/data/faq/ex5.rbhtml +7 -0
  74. data/test/data/faq/ex5_template_args.source +9 -0
  75. data/test/data/faq/ex6-content.rhtml +6 -0
  76. data/test/data/faq/ex6-layout.rhtml +6 -0
  77. data/test/data/faq/ex6.rb +10 -0
  78. data/test/data/faq/ex6_eruby.result +12 -0
  79. data/test/data/faq/ex7-expr-pattern.rb +34 -0
  80. data/test/data/faq/ex7-expr-pattern.rbhtml +3 -0
  81. data/test/data/faq/ex7_expr_pattern.result +4 -0
  82. data/test/data/faq/ex8-m18n.rb +77 -0
  83. data/test/data/faq/ex8-m18n.rbhtml +4 -0
  84. data/test/data/faq/ex8_m18n.result +10 -0
  85. data/test/data/faq/ex9-baselayout.rbhtml +8 -0
  86. data/test/data/faq/ex9-content.rbhtml +6 -0
  87. data/test/data/faq/ex9-mylayout.rbhtml +5 -0
  88. data/test/data/faq/ex9_changelayout.result +11 -0
  89. data/test/data/users_guide/content6.rbhtml +3 -0
  90. data/test/data/users_guide/content7.rbhtml +5 -0
  91. data/test/data/users_guide/content8.rbhtml +2 -0
  92. data/test/data/users_guide/contextdata.rb +7 -0
  93. data/test/data/users_guide/datafile.rb +5 -0
  94. data/test/data/users_guide/datafile.yaml +10 -0
  95. data/test/data/users_guide/ex.rbhtml +6 -0
  96. data/test/data/users_guide/ex.result +7 -0
  97. data/test/data/users_guide/ex.script +5 -0
  98. data/test/data/users_guide/ex_script.result +7 -0
  99. data/test/data/users_guide/ex_source.result +8 -0
  100. data/test/data/users_guide/example1.rbhtml +12 -0
  101. data/test/data/users_guide/example1.result +17 -0
  102. data/test/data/users_guide/example10.rbhtml +4 -0
  103. data/test/data/users_guide/example10_template_args.result +6 -0
  104. data/test/data/users_guide/example11.rbhtml +5 -0
  105. data/test/data/users_guide/example11_template_args_result +2 -0
  106. data/test/data/users_guide/example12.rbhtml +12 -0
  107. data/test/data/users_guide/example12_preprocessed.result +10 -0
  108. data/test/data/users_guide/example12_preprocessed_source.result +10 -0
  109. data/test/data/users_guide/example13.rbhtml +6 -0
  110. data/test/data/users_guide/example13_preprocessed.result +2 -0
  111. data/test/data/users_guide/example13_preprocessed_source.result +2 -0
  112. data/test/data/users_guide/example14.rb +32 -0
  113. data/test/data/users_guide/example14.rbhtml +6 -0
  114. data/test/data/users_guide/example14_tmplclass.result +15 -0
  115. data/test/data/users_guide/example15.rb +10 -0
  116. data/test/data/users_guide/example15_escapefunc.result +14 -0
  117. data/test/data/users_guide/example16.rbhtml +4 -0
  118. data/test/data/users_guide/example16a.rb +10 -0
  119. data/test/data/users_guide/example16a.result +4 -0
  120. data/test/data/users_guide/example16b.rb +13 -0
  121. data/test/data/users_guide/example16b.result +4 -0
  122. data/test/data/users_guide/example16c.rb +12 -0
  123. data/test/data/users_guide/example16c.result +4 -0
  124. data/test/data/users_guide/example1_S.result +14 -0
  125. data/test/data/users_guide/example1_SXNC.result +10 -0
  126. data/test/data/users_guide/example1_source.result +14 -0
  127. data/test/data/users_guide/example2.rbhtml +3 -0
  128. data/test/data/users_guide/example2_sb.result2 +9 -0
  129. data/test/data/users_guide/example3.rbhtml +5 -0
  130. data/test/data/users_guide/example3_syntaxcheck.result +2 -0
  131. data/test/data/users_guide/example4.rbhtml +13 -0
  132. data/test/data/users_guide/example4_datafile_rb.result +13 -0
  133. data/test/data/users_guide/example4_yaml.result +13 -0
  134. data/test/data/users_guide/example5.rbhtml +9 -0
  135. data/test/data/users_guide/example5_datastr_rb.result +9 -0
  136. data/test/data/users_guide/example5_datastr_yaml.result +9 -0
  137. data/test/data/users_guide/example6.rbhtml +19 -0
  138. data/test/data/users_guide/example6_layout.result +29 -0
  139. data/test/data/users_guide/example6_nested.result +28 -0
  140. data/test/data/users_guide/example7_layout2.result +13 -0
  141. data/test/data/users_guide/example8_layout3.result +8 -0
  142. data/test/data/users_guide/example9.rbhtml +18 -0
  143. data/test/data/users_guide/example9_capture.result +26 -0
  144. data/test/data/users_guide/footer.html +5 -0
  145. data/test/data/users_guide/footer.rbhtml +4 -0
  146. data/test/data/users_guide/layout6.rbhtml +17 -0
  147. data/test/data/users_guide/layout7.rbhtml +9 -0
  148. data/test/data/users_guide/layout8_html.rbhtml +5 -0
  149. data/test/data/users_guide/layout8_xhtml.rbhtml +6 -0
  150. data/test/data/users_guide/layout9.rbhtml +25 -0
  151. data/test/data/users_guide/sidemenu.rbhtml +5 -0
  152. data/test/data/users_guide/user_app.cgi +39 -0
  153. data/test/data/users_guide/user_app.result +30 -0
  154. data/test/data/users_guide/user_create.rbhtml +6 -0
  155. data/test/data/users_guide/user_edit.rbhtml +7 -0
  156. data/test/data/users_guide/user_form.rbhtml +10 -0
  157. data/test/data/users_guide/user_layout.rbhtml +16 -0
  158. data/test/test_all.rb +23 -0
  159. data/test/test_engine.rb +526 -0
  160. data/test/test_engine.yaml +2039 -0
  161. data/test/test_examples.rb +81 -0
  162. data/test/test_faq.rb +60 -0
  163. data/test/test_htmlhelper.rb +78 -0
  164. data/test/test_main.rb +564 -0
  165. data/test/test_main.yaml +174 -0
  166. data/test/test_template.rb +113 -0
  167. data/test/test_template.yaml +1244 -0
  168. data/test/test_users_guide.rb +75 -0
  169. data/test/testcase-helper.rb +166 -0
  170. metadata +226 -0
@@ -0,0 +1,75 @@
1
+ ###
2
+ ### $Rev: 48 $
3
+ ### $Release: 0.6.0 $
4
+ ### copyright(c) 2007 kuwata-lab all rights reserved.
5
+ ###
6
+
7
+ require 'test/unit'
8
+ #require 'testutil'
9
+ #require 'testcase-helper'
10
+ require 'assert-text-equal'
11
+
12
+ #class Symbol
13
+ # def <=>(other)
14
+ # return self.to_s <=> other.to_s
15
+ # end
16
+ #end
17
+ #
18
+ #class Hash
19
+ # def each
20
+ # self.keys.sort.each do |key|
21
+ # val = self[key]
22
+ # yield key, val
23
+ # end
24
+ # end
25
+ #end
26
+
27
+ require 'tenjin'
28
+
29
+ class TenjinUsersGuideTest < Test::Unit::TestCase
30
+
31
+ DIR = File.expand_path(File.dirname(__FILE__) + '/data/users_guide')
32
+ CWD = Dir.pwd()
33
+
34
+
35
+ def setup
36
+ Dir.chdir DIR
37
+ end
38
+
39
+
40
+ def teardown
41
+ Dir.chdir CWD
42
+ end
43
+
44
+
45
+ def _test
46
+ @name = (caller()[0] =~ /`(.*?)'/) && $1
47
+ s = File.read(@filename)
48
+ s =~ /\A\$ (.*?)\n/
49
+ command = $1
50
+ expected = $'
51
+ result = `#{command}`
52
+ assert_text_equal(expected, result)
53
+ end
54
+
55
+
56
+ Dir.chdir DIR do
57
+ filenames = []
58
+ filenames += Dir.glob('*.result')
59
+ filenames += Dir.glob('*.source')
60
+ filenames.each do |filename|
61
+ name = filename.gsub(/[^\w]/, '_')
62
+ s = <<-END
63
+ def test_#{name}
64
+ # $stderr.puts "*** debug: test_#{name}"
65
+ @name = '#{name}'
66
+ @filename = '#{filename}'
67
+ _test()
68
+ end
69
+ END
70
+ eval s
71
+ end
72
+ end
73
+
74
+
75
+ end
@@ -0,0 +1,166 @@
1
+ ###
2
+ ### $Rev: 42 $
3
+ ### $Release: 0.6.0 $
4
+ ### copyright(c) 2007 kuwata-lab all rights reserved.
5
+ ###
6
+
7
+ require 'yaml'
8
+ require 'test/unit/testcase'
9
+
10
+
11
+ def File.write(filename, content)
12
+ File.open(filename, 'w') { |f| f.write(content) }
13
+ end
14
+
15
+
16
+ def _data_convert(data, lang='ruby')
17
+ if data.is_a?(Hash)
18
+ data.keys.each do |k|
19
+ v = data[k]
20
+ if k[-1,1] == '*'
21
+ v.is_a?(Hash) or raise "** assertion error"
22
+ data[k[0..-2]] = data.delete(k)[lang]
23
+ elsif v.is_a?(Hash) && v.key?(lang)
24
+ data[k] = v[lang]
25
+ else
26
+ _data_convert(v)
27
+ end
28
+ end
29
+ elsif data.is_a?(Array)
30
+ for v in data
31
+ _data_convert(v)
32
+ end
33
+ end
34
+ return data
35
+ end
36
+
37
+
38
+
39
+ class Test::Unit::TestCase # :nodoc:
40
+
41
+
42
+ def self._untabify(str, width=8) # :nodoc:
43
+ list = str.split(/\t/, -1)
44
+ return list.first if list.length == 1
45
+ last = list.pop
46
+ buf = []
47
+ list.each do |s|
48
+ column = (pos = s.rindex(?\n)) ? s.length - pos - 1 : s.length
49
+ n = width - (column % width)
50
+ buf << s << (" " * n)
51
+ end
52
+ buf << last
53
+ return buf.join
54
+ #sb = []
55
+ #str.scan(/(.*?)\t/m) do |s, |
56
+ # len = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
57
+ # sb << s << (" " * (width - len % width))
58
+ #end
59
+ #str = (sb << $').join if $'
60
+ #return str
61
+ end
62
+
63
+
64
+ def self.load_yaml_documents(filename, options={}) # :nodoc:
65
+ str = File.read(filename)
66
+ if filename =~ /\.rb$/
67
+ str =~ /^__END__$/ or raise "*** error: __END__ is not found in '#{filename}'."
68
+ str = $'
69
+ end
70
+ str = _untabify(str) unless options[:tabify] == false
71
+ #
72
+ identkey = options[:identkey] || 'name'
73
+ list = []
74
+ table = {}
75
+ YAML.load_documents(str) do |ydoc|
76
+ if ydoc.is_a?(Hash)
77
+ list << ydoc
78
+ elsif ydoc.is_a?(Array)
79
+ list += ydoc
80
+ else
81
+ raise "*** invalid ydoc: #{ydoc.inspect}"
82
+ end
83
+ end
84
+ #
85
+ list.each do |ydoc|
86
+ ident = ydoc[identkey]
87
+ ident or raise "*** #{identkey} is not found."
88
+ table[ident] and raise "*** #{identkey} '#{ident}' is duplicated."
89
+ table[ident] = ydoc
90
+ end
91
+ #
92
+ target = $target || ENV['TEST']
93
+ if target
94
+ table[target] or raise "*** target '#{target}' not found."
95
+ list = [ table[target] ]
96
+ end
97
+ #
98
+ list.each do |ydoc| yield(ydoc) end if block_given?
99
+ #
100
+ return list
101
+ end
102
+
103
+
104
+ SPECIAL_KEYS = %[exception errormsg]
105
+
106
+ def self.load_yaml_testdata(filename, options={}) # :nodoc:
107
+ identkey = options[:identkey] || 'name'
108
+ testmethod = options[:testmethod] || '_test'
109
+ lang = options[:lang]
110
+ special_keys = options[:special_keys] || SPECIAL_KEYS
111
+ s = ''
112
+ load_yaml_documents(filename, options) do |ydoc|
113
+ ident = ydoc[identkey]
114
+ s << "def test_#{ident}\n"
115
+ ydoc.each do |key, val|
116
+ if key[-1] == ?*
117
+ key = key[0, key.length-1]
118
+ k = special_keys.include?(key) ? 'ruby' : lang
119
+ val = val[k]
120
+ end
121
+ s << " @#{key} = #{val.inspect}\n"
122
+ end
123
+ s << " #{testmethod}\n"
124
+ s << "end\n"
125
+ $stderr.puts "*** #{method_name()}(): eval_str=<<'END'\n#{s}END" if $DEBUG
126
+ end
127
+ #module_eval s # not eval!
128
+ return s
129
+ end
130
+
131
+
132
+ def self.method_name # :nodoc:
133
+ return (caller[0] =~ /in `(.*?)'/) && $1
134
+ end
135
+
136
+
137
+ def self.load_yaml_testdata_with_each_lang(filename, options={}) # :nodoc:
138
+ identkey = options[:identkey] || 'name'
139
+ testmethod = options[:testmethod] || '_test'
140
+ special_keys = options[:special_keys] || SPECIAL_KEYS
141
+ langs = defined?($lang) && $lang ? [ $lang ] : options[:langs]
142
+ langs or raise "*** #{method_name()}(): option ':langs' is required."
143
+
144
+ load_yaml_documents(filename, options) do |ydoc|
145
+ ident = ydoc[identkey]
146
+ langs.each do |lang|
147
+ s = "def test_#{ident}_#{lang}\n"
148
+ s << " @lang = #{lang.inspect}\n"
149
+ ydoc.each do |key, val|
150
+ if key[-1] == ?*
151
+ key = key[0, key.length-1]
152
+ k = special_keys.include?(key) ? 'ruby' : lang
153
+ val = val[k]
154
+ end
155
+ s << " @#{key} = #{val.inspect}\n"
156
+ end
157
+ s << " #{testmethod}\n"
158
+ s << "end\n"
159
+ #$stderr.puts "*** #{method_name()}(): eval_str=<<'END'\n#{s}END" if $DEBUG
160
+ module_eval s # not eval!
161
+ end
162
+ end
163
+ end
164
+
165
+
166
+ end
metadata ADDED
@@ -0,0 +1,226 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.2
3
+ specification_version: 1
4
+ name: tenjin
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.6.0
7
+ date: 2007-08-04 00:00:00 +09:00
8
+ summary: eRuby-like template engine
9
+ require_paths:
10
+ - lib
11
+ email:
12
+ homepage: http://www.kuwata-lab.com/tenjin
13
+ rubyforge_project:
14
+ description: Tenjin is a template engine which is similar to eRuby. Tenjin has the following features. * Very fast and lightweight * Auto escaping support * Auto trimming spaces around embedded statements * Context object available and easy to combine eRuby template with YAML datafile
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: false
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - kwatch
31
+ files:
32
+ - lib/tenjin.rb
33
+ - bin/rbtenjin
34
+ - test/assert-text-equal.rb
35
+ - test/data
36
+ - test/data/examples
37
+ - test/data/examples/form
38
+ - test/data/examples/form/create.rbhtml
39
+ - test/data/examples/form/form.rbhtml
40
+ - test/data/examples/form/layout.rbhtml
41
+ - test/data/examples/form/main.rb
42
+ - test/data/examples/form/main.result
43
+ - test/data/examples/form/update.rbhtml
44
+ - test/data/examples/preprocessing
45
+ - test/data/examples/preprocessing/helper.rb
46
+ - test/data/examples/preprocessing/main.rb
47
+ - test/data/examples/preprocessing/main.result
48
+ - test/data/examples/preprocessing/select.rbhtml
49
+ - test/data/examples/preprocessing/select_P.result
50
+ - test/data/examples/table
51
+ - test/data/examples/table/table.rb
52
+ - test/data/examples/table/table.rbhtml
53
+ - test/data/examples/table/table.result
54
+ - test/data/examples/table/table_s.result
55
+ - test/data/faq
56
+ - test/data/faq/ex1.rbhtml
57
+ - test/data/faq/ex10-baselayout.rbhtml
58
+ - test/data/faq/ex10-content.rbhtml
59
+ - test/data/faq/ex10-customlayout.rbhtml
60
+ - test/data/faq/ex10_inherit.result
61
+ - test/data/faq/ex11-bench.rb
62
+ - test/data/faq/ex11-content.rbhtml
63
+ - test/data/faq/ex11-layout1.rbhtml
64
+ - test/data/faq/ex11-layout2.rbhtml
65
+ - test/data/faq/ex11.rb
66
+ - test/data/faq/ex11.rbhtml
67
+ - test/data/faq/ex11.source
68
+ - test/data/faq/ex11_arraybuffer.result
69
+ - test/data/faq/ex1_chksyntax.result
70
+ - test/data/faq/ex2-content.rbhtml
71
+ - test/data/faq/ex2-layout.rbhtml
72
+ - test/data/faq/ex2_removenl.result
73
+ - test/data/faq/ex3.rb
74
+ - test/data/faq/ex3.rbhtml
75
+ - test/data/faq/ex3_escapefunc1.result
76
+ - test/data/faq/ex3_escapefunc2.result
77
+ - test/data/faq/ex5.rbhtml
78
+ - test/data/faq/ex5_template_args.source
79
+ - test/data/faq/ex6-content.rhtml
80
+ - test/data/faq/ex6-layout.rhtml
81
+ - test/data/faq/ex6.rb
82
+ - test/data/faq/ex6_eruby.result
83
+ - test/data/faq/ex7-expr-pattern.rb
84
+ - test/data/faq/ex7-expr-pattern.rbhtml
85
+ - test/data/faq/ex7_expr_pattern.result
86
+ - test/data/faq/ex8-m18n.rb
87
+ - test/data/faq/ex8-m18n.rbhtml
88
+ - test/data/faq/ex8_m18n.result
89
+ - test/data/faq/ex9-baselayout.rbhtml
90
+ - test/data/faq/ex9-content.rbhtml
91
+ - test/data/faq/ex9-mylayout.rbhtml
92
+ - test/data/faq/ex9_changelayout.result
93
+ - test/data/users_guide
94
+ - test/data/users_guide/content6.rbhtml
95
+ - test/data/users_guide/content7.rbhtml
96
+ - test/data/users_guide/content8.rbhtml
97
+ - test/data/users_guide/contextdata.rb
98
+ - test/data/users_guide/datafile.rb
99
+ - test/data/users_guide/datafile.yaml
100
+ - test/data/users_guide/ex.rbhtml
101
+ - test/data/users_guide/ex.result
102
+ - test/data/users_guide/ex.script
103
+ - test/data/users_guide/ex_script.result
104
+ - test/data/users_guide/ex_source.result
105
+ - test/data/users_guide/example1.rbhtml
106
+ - test/data/users_guide/example1.result
107
+ - test/data/users_guide/example10.rbhtml
108
+ - test/data/users_guide/example10_template_args.result
109
+ - test/data/users_guide/example11.rbhtml
110
+ - test/data/users_guide/example11_template_args_result
111
+ - test/data/users_guide/example12.rbhtml
112
+ - test/data/users_guide/example12_preprocessed.result
113
+ - test/data/users_guide/example12_preprocessed_source.result
114
+ - test/data/users_guide/example13.rbhtml
115
+ - test/data/users_guide/example13_preprocessed.result
116
+ - test/data/users_guide/example13_preprocessed_source.result
117
+ - test/data/users_guide/example14.rb
118
+ - test/data/users_guide/example14.rbhtml
119
+ - test/data/users_guide/example14_tmplclass.result
120
+ - test/data/users_guide/example15.rb
121
+ - test/data/users_guide/example15_escapefunc.result
122
+ - test/data/users_guide/example16.rbhtml
123
+ - test/data/users_guide/example16a.rb
124
+ - test/data/users_guide/example16a.result
125
+ - test/data/users_guide/example16b.rb
126
+ - test/data/users_guide/example16b.result
127
+ - test/data/users_guide/example16c.rb
128
+ - test/data/users_guide/example16c.result
129
+ - test/data/users_guide/example1_S.result
130
+ - test/data/users_guide/example1_source.result
131
+ - test/data/users_guide/example1_SXNC.result
132
+ - test/data/users_guide/example2.rbhtml
133
+ - test/data/users_guide/example2_sb.result2
134
+ - test/data/users_guide/example3.rbhtml
135
+ - test/data/users_guide/example3_syntaxcheck.result
136
+ - test/data/users_guide/example4.rbhtml
137
+ - test/data/users_guide/example4_datafile_rb.result
138
+ - test/data/users_guide/example4_yaml.result
139
+ - test/data/users_guide/example5.rbhtml
140
+ - test/data/users_guide/example5_datastr_rb.result
141
+ - test/data/users_guide/example5_datastr_yaml.result
142
+ - test/data/users_guide/example6.rbhtml
143
+ - test/data/users_guide/example6_layout.result
144
+ - test/data/users_guide/example6_nested.result
145
+ - test/data/users_guide/example7_layout2.result
146
+ - test/data/users_guide/example8_layout3.result
147
+ - test/data/users_guide/example9.rbhtml
148
+ - test/data/users_guide/example9_capture.result
149
+ - test/data/users_guide/footer.html
150
+ - test/data/users_guide/footer.rbhtml
151
+ - test/data/users_guide/layout6.rbhtml
152
+ - test/data/users_guide/layout7.rbhtml
153
+ - test/data/users_guide/layout8_html.rbhtml
154
+ - test/data/users_guide/layout8_xhtml.rbhtml
155
+ - test/data/users_guide/layout9.rbhtml
156
+ - test/data/users_guide/sidemenu.rbhtml
157
+ - test/data/users_guide/user_app.cgi
158
+ - test/data/users_guide/user_app.result
159
+ - test/data/users_guide/user_create.rbhtml
160
+ - test/data/users_guide/user_edit.rbhtml
161
+ - test/data/users_guide/user_form.rbhtml
162
+ - test/data/users_guide/user_layout.rbhtml
163
+ - test/test_all.rb
164
+ - test/test_engine.rb
165
+ - test/test_engine.yaml
166
+ - test/test_examples.rb
167
+ - test/test_faq.rb
168
+ - test/test_htmlhelper.rb
169
+ - test/test_main.rb
170
+ - test/test_main.yaml
171
+ - test/test_template.rb
172
+ - test/test_template.yaml
173
+ - test/test_users_guide.rb
174
+ - test/testcase-helper.rb
175
+ - doc/docstyle.css
176
+ - doc/examples.html
177
+ - doc/faq.html
178
+ - doc/users-guide.html
179
+ - README.txt
180
+ - MIT-LICENSE
181
+ - setup.rb
182
+ - tenjin.gemspec
183
+ - benchmark/bench.rb
184
+ - benchmark/bench_context.rb
185
+ - benchmark/bench_context.yaml
186
+ - benchmark/templates
187
+ - benchmark/templates/_footer.html
188
+ - benchmark/templates/_header.html
189
+ - benchmark/templates/bench_eruby.rhtml
190
+ - benchmark/templates/bench_tenjin.rbhtml
191
+ - doc-api/classes
192
+ - doc-api/classes/Tenjin
193
+ - doc-api/classes/Tenjin/ArrayBufferTemplate.html
194
+ - doc-api/classes/Tenjin/BaseContext.html
195
+ - doc-api/classes/Tenjin/Context.html
196
+ - doc-api/classes/Tenjin/ContextHelper.html
197
+ - doc-api/classes/Tenjin/Engine.html
198
+ - doc-api/classes/Tenjin/ErubisTemplate.html
199
+ - doc-api/classes/Tenjin/HtmlHelper.html
200
+ - doc-api/classes/Tenjin/Preprocessor.html
201
+ - doc-api/classes/Tenjin/Template.html
202
+ - doc-api/classes/Tenjin.html
203
+ - doc-api/created.rid
204
+ - doc-api/files
205
+ - doc-api/files/lib
206
+ - doc-api/files/lib/tenjin_rb.html
207
+ - doc-api/files/README_txt.html
208
+ - doc-api/fr_class_index.html
209
+ - doc-api/fr_file_index.html
210
+ - doc-api/fr_method_index.html
211
+ - doc-api/index.html
212
+ - doc-api/rdoc-style.css
213
+ test_files:
214
+ - test/test_all.rb
215
+ rdoc_options: []
216
+
217
+ extra_rdoc_files: []
218
+
219
+ executables:
220
+ - rbtenjin
221
+ extensions: []
222
+
223
+ requirements: []
224
+
225
+ dependencies: []
226
+